我正在用c#编写程序,在其中打开图片,更改特定像素的RGB颜色以使用位图隐藏消息,然后使用更改后的像素保存新图片。
此后,我应该打开新图片并通过读取更改的特定像素来获取隐藏的消息。
问题是图片似乎在改变大小,对于我更改的特定像素,我没有得到相同的RGB。
示例:我将第20,20'像素更改为225,0,0
image1 = new Bitmap(address\sky.jpeg, true);
Color newColor = Color.FromArgb(225, 0, 0);
image1.SetPixel(20, 20, newColor);
image1.Save("address\myfile.jpeg");
,myfile.jpeg的大小现在为16.5 KB(16,935字节) 代替 原始的sky.jpeg为16.2 KB(16,614字节)
然后输入此代码:
Bitmap image1;
image1 = new Bitmap("address\\myfile.jpeg", true);
Color pixelColor = image1.GetPixel(20, 20);
text1.AppendText(pixelColor.ToString());
显示第20,20'像素颜色是3,48,134,而不是225,0,0
如何更改和维护特定像素的RGB,以便以后可以在不更改的情况下读取它们?