WriteableBitmap 图片处理的问题

xiaoze_2012 2012-08-15 11:53:33
在WPF中我是这样修改图片的
public void TransferImageAlpha(Bitmap image)
{
for (int pixelX = 0; pixelX < image.Width; pixelX++)
{
for (int pixelY = 0; pixelY < image.Height; pixelY++)
{
System.Drawing.Color pixelColor = image.GetPixel(pixelX, pixelY);
if (pixelColor.A.Equals(0)) continue;
System.Drawing.Color newColor =System.Drawing.Color.FromArgb(pixelColor.A, labacolor.R, labacolor.G, labacolor.B);//System.Drawing.Color.FromArgb(128, pixelColor);
image.SetPixel(pixelX, pixelY, newColor);

}
}
}
但是在silverlight中我用
private void setImageSource(Image img, Color lbcolor)
{
WriteableBitmap bitmap = new WriteableBitmap(img,null); // image1 图片控件名
int imageWidth = bitmap.PixelWidth;
int imageHeight = bitmap.PixelHeight;
for (int pixelY = 0; pixelY < imageHeight; pixelY++)
{
for (int pixelX = 0; pixelX < imageWidth; pixelX++)
{
int pointx = imageWidth * pixelY + pixelX;
int pixel = bitmap.Pixels[pointx];
byte[] bytes = BitConverter.GetBytes(pixel);
if (bytes[3].Equals(0)) continue;
bytes[0]=lbcolor.B;
bytes[1]=lbcolor.G;
bytes[2]=lbcolor.R;
bitmap.Pixels[pointx] = BitConverter.ToInt32(bytes, 0);
}
}
img.Source = bitmap;
}
这两种处理完以后的效果不一样啊,这个是什么原因呢?请大侠指教
...全文
318 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
van1chao 2012-08-27
  • 打赏
  • 举报
回复
是不是silverlight不支持的图片格式?
jv9 2012-08-21
  • 打赏
  • 举报
回复
对比后,效果如何不一样了呢?根据不同的效果然后对比代码。

8,735

社区成员

发帖
与我相关
我的任务
社区描述
WPF/Silverlight相关讨论
社区管理员
  • WPF/Silverlight社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧