イメージファイルにテキストを追加する必要があります。私は1つのイメージファイル(jpg、png、gif)を読む必要があり、それに1行のテキストを追加する必要があります。イメージファイルにテキストを追加する
答えて
これは、C#のGraphicsオブジェクトを使用して行うことができます。画像(Graphics.CreateGraphics()など)からGraphicsオブジェクトを取得し、Graphics.DrawString()やその他の関連メソッドのようなテキストを追加するための組み込みのメソッドを使用できます。
GDI +では、Imageクラスを使用してファイルを読み込んだ後、Graphicsクラスを使用してテキストを追加します。ような何か:あなたは古いものの上にファイルを保存したい場合は
Image image = Image.FromFile(@"c:\somepic.gif"); //or .jpg, etc...
Graphics graphics = Graphics.FromImage(image);
graphics.DrawString("Hello", this.Font, Brushes.Black, 0, 0);
は、コードは、それが配置されるまでImage.FromFile()メソッドは、ファイルをロックしてビットを変更することがあります。
FileStream fs = new FileStream(@"c:\somepic.gif", FileMode.Open, FileAccess.Read);
Image image = Image.FromStream(fs);
fs.Close();
Bitmap b = new Bitmap(image);
Graphics graphics = Graphics.FromImage(b);
graphics.DrawString("Hello", this.Font, Brushes.Black, 0, 0);
b.Save(@"c:\somepic.gif", image.RawFormat);
image.Dispose();
b.Dispose();
私はGIFファイルはGIF結果を持っているため、次のように各フレームに書く必要があります。具体的
ここで悪魔の主唱者を演奏してください:あなたは明らかに後でそれを保存する必要があります! –
うまくいけば、上記が役立ちます。 –
このテキストを回転してイメージに追加する方法は? –
:)かかわらず、非常に徹底的にこれをテストします::以下は、私が思い付いたものです
string originalImgPath = @"C:\test.gif";
Image IMG = Image.FromFile(originalImgPath);
FrameDimension dimension = new FrameDimension(IMG.FrameDimensionsList[0]);
int frameCount = IMG.GetFrameCount(dimension);
int Length = frameCount;
GifBitmapEncoder gEnc = new GifBitmapEncoder();
for (int i = 0; i < Length; i++)
{
// Get each frame
IMG.SelectActiveFrame(dimension, i);
var aFrame = new Bitmap(IMG);
// write one the selected frame
Graphics graphics = Graphics.FromImage(aFrame);
graphics.DrawString("Hello", new Font("Arial", 24, System.Drawing.FontStyle.Bold), System.Drawing.Brushes.Black, 50, 50);
var bmp = aFrame.GetHbitmap();
var src = System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(
bmp,
IntPtr.Zero,
Int32Rect.Empty,
BitmapSizeOptions.FromEmptyOptions());
// merge frames
gEnc.Frames.Add(BitmapFrame.Create(src));
}
string saveImgFile = @"C:\modified_test.gif"
using (FileStream fs2 = new FileStream(saveImgFile, FileMode.Create))
{
gEnc.Save(fs2);
}
GIFフレームをthis postから取得する必要があります。
https://stackoverflow.com/a/48395131/485008 –
- 1. イメージファイルをデータベーステーブルに追加する
- 2. イメージファイルへの追加
- 3. Windowsエクスプローラとソリューションエクスプローラでイメージファイルを追加
- 4. ランダムなハッシュを持つ追加イメージファイル?
- 5. イメージファイルを既存のjavascriptに追加する
- 6. プロパティ "Alternate"をサーバー上のイメージファイルに追加する方法は?
- 7. MAMPサーバーからイメージファイルを追加するには
- 8. テキストとともにテキストをテキストにテーブルに追加する(tbody)
- 9. スクロールボックスにテキストを追加するには?
- 10. パスにテキストを追加するには
- 11. テキストボックスにテキストを追加するには?
- 12. SQLにキャリッジリターンをテキストに追加する
- 13. テーブルにテキストを追加するには
- 14. VBAにテキストを追加しながらセミコロンを追加する
- 15. 別のフレームにテキストを追加する
- 16. マップビューでマーカーにテキストを追加する
- 17. JQueryのテキストにハイパーリンクを追加する
- 18. テキストフィールドのテキストにパディングを追加する
- 19. 私のテキストにツイートボタンを追加する
- 20. ArcGIS Javascriptレイヤにテキストを追加する
- 21. モノスペースのテキストを追加するには?
- 22. jpegにテキストを追加する
- 23. ファイルにテキストを追加するコンテンツ(PHP)
- 24. dxfファイルにテキストを追加する
- 25. テキストをアウトラインに追加する方法
- 26. Faviconをテキスト/プレーンレスポンスに追加する
- 27. テキストをテキストボックスに追加する方法
- 28. テキストをリストに追加するpython
- 29. psqlテキストに空白を追加する
- 30. ツールヒントにテキストを追加する方法
それを見る。問題は、ファイルを開くときにロックされているため、同じファイルに保存できないことです。あなたに戻ってきます... –