c#中new bitmap的问题

c#中BitmapI=newBitmap(pictureBox1.Image);明明pictureBox1.Image的PixelFormat=Format24bppRg... c#中 Bitmap I = new Bitmap(pictureBox1.Image);
明明pictureBox1.Image的PixelFormat = Format24bppRgb
但是I的PixelFormat = Format32bppArgb
我要令I的PixelFormat = Format24bpprgb要怎么办?
那么这个alpha通道,我在进行彩色图像灰度化的时候,是不是可以不用它?我做了一个灰度化,但是图像整体偏黑,不知道是不是这个alpha对透明度的影响问题?
wefgod3你这个算法我一开始也采用了,很简单但是处理的速度很慢。一幅700*500的图片要处理几分钟。应该采用LockBits与UnlockBits的方法操作内存。如果有兴趣的话,可以参看http://zhidao.baidu.com/question/66246018.html?si=2
展开
 我来答
定复2d
2009-03-25 · TA获得超过3196个赞
知道大有可为答主
回答量:2052
采纳率:0%
帮助的人:1924万
展开全部
private void button1_Click(object sender, EventArgs e)
{
button4.Enabled = true;
Bitmap bmp1 = new Bitmap(pictureBox2.Image);
Bitmap bmp2 = new Bitmap(pictureBox2.Image);
Color c1, c2;
int a, r, g, b;
for (int x = 0; x < bmp1.Width; x++)
for (int y = 0; y < bmp1.Height; y++)
{
c1 = bmp2.GetPixel(x, y);
a = c1.A;
r = g = b = (c1.B + c1.G + c1.R) / 3;
c2 = Color.FromArgb(a,r,g,b);
bmp2.SetPixel(x, y, c2);
}
pictureBox2.Refresh();
pictureBox2.Image = bmp2;
}

灰度的算法
我过去自己写过
alpha的你没修改没什么问题吧?反正也就是透明度
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
real唐洪
2009-03-25 · TA获得超过290个赞
知道小有建树答主
回答量:573
采纳率:60%
帮助的人:382万
展开全部
在内存里的图没有24位色,只有32位的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式