2017-09-13 52 views
1

我已經改變了所有的像素顏色在一個位圖文件與「bitmap.SetPixel」。當我保存在PC上的位圖,保存的文件對每個像素時,不同的顏色我在Photoshop中打開它..!保存的顏色接近但不一樣..請幫助我。bitmap.save不保存在C#中精確的像素顏色

組像素顏色:

Bitmap.SetPixel(x, y, MyColor); 

保存位圖: '使用原始圖像格式'

Bitmap.Save(MyPath, PicImage.RawFormat); 
+0

那麼,什麼__is__的[RawFormat(https://msdn.microsoft.com/en-us/library/system.drawing.image.rawformat(V = vs.110)的.aspx)?如果是JPG格式,所有的像素將被重新編碼和顏色非常輕微的變化是可以預期的..巴將幫助.. – TaW

+0

謝謝你..你是對的,我應該使用PNG格式 –

回答

1

注意Image.RawFormat基本上是的簡寫

所以,如果你的圖像源是有損壓縮格式像jpeg要保存,重新編碼,即,它在相同的壓縮格式,但是,最有可能使用不同的壓縮編解碼器和/或不同質量等參數。

所以你可以期待一些輕微的顏色變化。

即使是同樣的編解碼器等一jpeg必須創建一個不同版本的壓縮表只爲你正在改變一個像素..

確保原始圖像採用無損壓縮,像png或某些tif格式以避免此效應。

爲了確保您可能想明確指定格式。

+0

謝謝你..我已經將其更改爲PNG,它的工作.. –

相關問題