Tag: 成像

在C#问题中32位rgb bmp到24位rgb bmp

我必须将32位rgb bmp图像转换为24位rgb bmp。 这就是我想要做的 Bitmap b1=new Bitmap(sorecFileName); Bitmap b2=new Bitmap(b1.Size.Width,b1.Size.Height,System.Drawing.Imaging.PixelFormat.Format24bppRgb); b2.SetResolution(b1.HorizontalResolution, b1.VerticalResolution); Graphics g=Graphics.FromImage(b2); g.DrawImage(b1,0,0); //continue to draw on g here to add text or graphics. g.Dispose(); b2.Save(destinationFileName); 代码编译得很好并生成24bpp的输出图像,但它不再是rgb格式。 为什么会这样? 我想通了,因为我有一个库,它将图像输入为rgb24并显示它。 因此,当我尝试将上面代码生成的文件作为函数的输入时,它会显示噪声图像。 但是,如果我在绘画中打开相同的文件并将其保存为24bpp bmp,并将其输入到该function,则图片显示正常。 我错过了什么?

确定图像整体亮度

我需要在图像上叠加一些文字; 根据整体图像亮度,此文本应更亮或更暗。 如何计算图像的整体(感知)亮度? 找到了一些有趣的单像素: 确定RGB颜色亮度的公式

如何在千兆像素位图上实现平移/缩放?

在我的项目中,我正在使用(未压缩的16位灰度)千兆像素图像,这些图像来自高分辨率扫描仪,用于测量目的。 由于这些位图无法加载到内存中(主要是由于内存碎片),我正在使用磁贴(以及磁盘上的平铺TIFF)。 (请参阅StackOverflow主题 ) 我需要以Google Maps或DeepZoom的方式实现平移/缩放。 我必须在将它呈现在屏幕上之前动态应用图像处理,因此我不能使用直接访问图像文件的预先烹饪的库。 对于缩放,我打算在我的文件(金字塔存储)中保留多分辨率图像。 最有用的步骤似乎是+ 200%,50%并且显示全部。 我的代码库目前是C#和.NET 3.5。 目前我假设表格类型,除非WPF在这方面给我很大的优势。 我有一个方法可以返回底层图像的任何(已处理)部分。 具体问题: 关于如何通过按需生成图像部件来实现此平移/缩放的提示或参考 任何可用作基础的代码(最好是商业版或LGPL / BSD版许可证) 可以使用DeepZoom(也就是说有一种方法可以提供一个函数来为当前的缩放级别提供正确的分区?)(我还需要像素精确的寻址)

如何将透明PNG加载到位图并忽略Alpha通道

我看到很多关于如何加载带有alpha通道的PNG并显示它的问题,但没有关于如何加载具有alpha通道但忽略alpha通道的PNG,揭示底层RGB数据。 我试过简单地删除alpha通道中的所有数据,但我只是得到黑色像素而不是我想要的颜色数据。 从我创建Bitmap对象的那一刻起,它似乎不包含alpha为0的像素中的任何颜色信息,尽管我向你保证PNG中的信息实际存在。 要清楚,如果我的图像包含具有这些值的像素:(R:255 G:128 B:128 A:0)我需要该像素(R:255 G:128 B:128 A:255),而不是(R:0 G:0 B:0 A:255)。 谢谢 编辑:以前的信息不正确。 位图包含使用时的所有信息: Bitmap myImage = Bitmap(“filename.png”) ; 我做错了是后来使用: Bitmap otherImage = Bitmap(myImage); 似乎这就是我需要的数据无效。 相反,我现在正在使用 Bitmap otherImage = (Bitmap)(myImage.Clone()); 然后使用lockbits手动将alpha通道设置为不透明。 我希望这对未来的某些人有用。

C#TWAIN互动

我正在尝试设置一个C#应用程序,它使用代码项目中的 TWAIN 示例 这工作正常,除了我需要将Form为IMessageFilter并调用IMessageFilter.PreFilterMessage()来捕获TWAIN回调。 我还需要通过调用来启动这个过滤 Application.AddMessageFilter(); 有没有办法在WPF窗口中做同样的事情? (添加消息filter并捕获TWAIN回调)。 另一个完全高级的问题:有没有人知道替代C#TWAIN库\包装器? 谢谢。

如何计算位图的平均rgb颜色值

在我的C#(3.5)应用程序中,我需要获取位图的红色,绿色和蓝色通道的平均颜色值。 最好不使用外部库。 可以这样做吗? 如果是这样,怎么样? 提前致谢。 尝试使事情更精确:位图中的每个像素都有一定的RGB颜色值。 我想获得图像中所有像素的平均RGB值。