C#.NET Compact Framework 绘图出现的一个很无语的简单问题

lonyjianhui 2011-05-27 10:28:26
代码,就几行,好简单:
private void button1_Click(object sender, EventArgs e)
{
int x = 20, y = 40;
Bitmap bmp = Properties.Resources.main2_gpsbj;//一张半透明资源图片
Color pixelColor = bmp.GetPixel(x, y); //该像素点的颜色

//像素点颜色的 Alpha 值
byte alpha = pixelColor.A;
MessageBox.Show(alpha.ToString());
}


问题出现了:

在.NET Framework环境下,PC端的运行结果:alpha值为83;
在.NET Compact Framework环境下,Windows CE端的运行结果为255,即完全不透明。

求原因,以及解决方法,感谢大侠们
...全文
85 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lonyjianhui 2011-05-31
  • 打赏
  • 举报
回复
有,不过这个我早就用过了,不适合我的工程,例如我画一个按钮,按下的时候是另一张图片,这就必须混色了[Quote=引用 4 楼 cmhua 的回复:]
http://www.hioz.net/ibbs/archiver/tid-924334.html
这篇文章参考一下,不知道对你有没有帮助
[/Quote]
cmHua 2011-05-30
  • 打赏
  • 举报
回复
http://www.hioz.net/ibbs/archiver/tid-924334.html
这篇文章参考一下,不知道对你有没有帮助
cmHua 2011-05-27
  • 打赏
  • 举报
回复
Alpha通道好像XP才开始支持吧,CE可能不支持(没试过,仅为猜测)。
著名天才___ 2011-05-27
  • 打赏
  • 举报
回复
我是菜鸟、我就路过求分的。。。
lonyjianhui 2011-05-27
  • 打赏
  • 举报
回复
我知道原因了,.NET Compact Framework 不支持透明 PNG,即alpha通道,所以结果一直都是255的。
但是如何解决我的问题呢,暂时我找到了个接口IImagingFactory,但是不会用,希望大家能帮忙解决

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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