我正在尝试使用.png图像为图像添加水印 我的.jpg和.png图像正在正确加水印,但.tif和.gif图像会出错。
我在c#中这样做。 我得到这个错误:
{“无法从具有。的图像创建图形对象 索引像素格式。在System.Drawing.Graphics.FromImage(图片 图片)at Watermarking.test_image_watermak.button1_Click(对象 发件人,EventArgs e)“}
我的代码
FileStream fs = new FileStream(img, FileMode.Open, FileAccess.Read);
image = Image.FromStream(fs);
int newWaterWidth = (int)((float)image.Width * .30);
int newWaterHeight = (newWaterWidth * watermarkImage.Height) / watermarkImage.Width;
Bitmap resizedWaterm = new Bitmap(newWaterWidth, newWaterHeight);
Graphics g = Graphics.FromImage((Image)resizedWaterm);
g.DrawImage(watermarkImage, 0, 0, newWaterWidth, newWaterHeight);
***Graphics imageGraphics = Graphics.FromImage(image);*** //error at this line
TextureBrush watermarkBrush = new TextureBrush((Image)resizedWaterm);
int x = (image.Width / 2 - resizedWaterm.Width / 2);
int y = (image.Height / 2 - resizedWaterm.Height / 2);
watermarkBrush.TranslateTransform(x, y);
imageGraphics.FillRectangle(watermarkBrush, new Rectangle(new Point(x, y), new Size(resizedWaterm.Width + 1, resizedWaterm.Height)));
var filename = Path.GetFileName(img);
image.Save(outputFolder + "\\" + filename);
对于这些类型的图像,您需要做些什么吗???
答案 0 :(得分:0)
“无法从具有索引像素格式的图像创建图形对象。”告诉自己。 GIF图像是基于调色板的,您的TIFF图像似乎也被编入索引(虽然有全彩色TIFF)。