具有透明位图的GDI + DrawImage()到打印机
时间:2020-03-05 18:53:25 来源:igfitidea点击:
是否有人对如何成功绘制具有以下内容的位图有任何指示
当Graphics上下文为时,使用Graphics :: DrawImage()的alpha通道
基于打印机HDC创建的?打印机驱动程序通常不支持Alpha混合,因此可以选择将所有内容渲染到屏幕外的位图,然后将其发送到打印机。这通常是不可行的,尤其是对于高分辨率打印到大型打印机。
解决方案
回答
在调用DrawImage方法之前,我们是否尝试过绘制白色矩形以初始化图像?
回答
重点是,我需要使图像后面的线条图形可见。我确实尝试先用(255,255,255,0)的RGBA颜色填充矩形,但这无济于事。 alpha值为零的像素会被打印为完全透明,但是部分透明的像素会被绘制为完全不透明。
回答
那是哪种打印机?普通打印机不打印白色。创建内存中图像并将其"展平"(删除Alpha通道),然后打印结果。