2017-05-08 8 views
-3

このコードを使用して画像を切り取って適切な形式で保存しますが、私の画像は「ファイル」を保存しています。これをどうすれば解決できますか?画像はファイルとして保存されますが、PNGではありません

i.Save("character" + counter, System.Drawing.Imaging.ImageFormat.Png); 

Saveメソッドの2番目の引数は、フルまたは相対ファイルパスです:

Rectangle dueDateRectangle = new Rectangle(symbolBounds.X1, symbolBounds.Y1, symbolBounds.X2 - symbolBounds.X1, symbolBounds.Y2 - symbolBounds.Y1); 
PixelFormat format = src.PixelFormat; 
Bitmap cloneBitmap = src.Clone(dueDateRectangle,format); 
MemoryStream ms = new MemoryStream(); 
cloneBitmap.Save(ms, System.Drawing.Imaging.ImageFormat.Png); 
ms.Position = 0; 
Image i = Image.FromStream(ms); 
i.Save("character" + counter, System.Drawing.Imaging.ImageFormat.Png); 

counter++; 
+1

クリックしたボタンには「Ask Question」と表示されます。私はここに質問が表示されません。あなたが質問をしなければ、あなたは答えを期待することはできません。 [ask]をお読みください – Piglet

+1

あなたはファイルに拡張子を与えていません。どのようにシステムがそれを知っていますか?今後、あなたの問題をさらに詳しく説明すると、「イメージはファイルのように保存され、pngのようには保存されません」ということは本当に不明です。また、[MCVE]を提供すると、問題を再現するために無関係なコードをたくさん投稿しています。 – TheLethalCoder

答えて

1

あなたのコードの問題は、次の行です。したがって、この場合には、拡張子を使用して画像を保存するために、おそらく.pngを必要とする:

i.Save("character" + counter + ".png", System.Drawing.Imaging.ImageFormat.Png); 

サイドノート:ImageBitmapMemoryStreamすべてあなたがそれらにDisposeを呼び出し、またはより良いまだ、それらをラップする必要があるので、IDisposableを実装しますusingステートメントで。

関連する問題