怎样不打印背景 上面是要打印的图片。问题:1,怎样只打印栅格,波形,数字,而不打印背景(即黑色部分)。2,让打印出来的栅格,波形,数字是黑色的。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用GDI+的ColorMatrix来做反色处理 我用uses printers;怎么取反?下面是打印整张图片的代码:procedure PrintBitmap(Canvas: TCanvas; DestRect: TRect; Bitmap: TBitmap);var BitmapHeader: pBitmapInfo; BitmapImage: POINTER; HeaderSize: DWORD; ImageSize: DWORD;begin GetDIBSizes(Bitmap.Handle, HeaderSize, ImageSize); //读取位图文件的头信息, GetMem(BitmapHeader, HeaderSize); //分配合适的内存 GetMem(BitmapImage, ImageSize); try GetDIB(Bitmap.Handle, Bitmap.Palette, BitmapHeader^, BitmapImage^); StretchDIBits(Canvas.Handle, DestRect.Left, DestRect.Top, // 目标初始坐标 DestRect.Right - DestRect.Left, // 目标宽度 DestRect.Bottom - DestRect.Top, // 目标高度 0, 0, // 源初始坐标 Bitmap.Width, Bitmap.Height, // 源高度和宽度 BitmapImage, TBitmapInfo(BitmapHeader^), DIB_RGB_COLORS, SRCCOPY) //位图按照要求进行拉伸 finally FreeMem(BitmapHeader); //内存释放 FreeMem(BitmapImage); end;end; {PrintBitmap} StretchDIBits时,画到临时图上,然后再对临时图片取反操作。最后再将临时图打印 再说一句,直接事先处理proceduer PrintBitmap(Canvas: TCanvas; DestRect: TRect; Bitmap: TBitmap);这个bitmap 用GDI+也可以替换颜色的,即先替换白色成A色,转了背景后再转... 建议楼主去学学GDI+,费点时间,终生受益。 可行,也可以用其他图片工具做反色处理,如photoshop 对整幅图进行扫描,进行二值化处理,黑(大于某个rgb值)的变白,其他颜色的变黑,应该就可以了 关于抵制 关于INI文件的一个简单的部题 请问在IE里面怎么动态增加一个工具栏? 怎么样弹出窗体时close自己? 我正看scanline,你帮我一下吧 请教关于远程数据模块的问题? 我儿子的照片 急!急!急!关于BMP文件处理的问题(有难度) 面向接口编程问题 远程控制 chartfx 怎么获取 显示/隐藏legend 的信息 delphi dll
我用uses printers;怎么取反?
下面是打印整张图片的代码:procedure PrintBitmap(Canvas: TCanvas; DestRect: TRect; Bitmap: TBitmap);
var
BitmapHeader: pBitmapInfo;
BitmapImage: POINTER;
HeaderSize: DWORD;
ImageSize: DWORD;
begin
GetDIBSizes(Bitmap.Handle, HeaderSize, ImageSize);
//读取位图文件的头信息,
GetMem(BitmapHeader, HeaderSize);
//分配合适的内存
GetMem(BitmapImage, ImageSize);
try
GetDIB(Bitmap.Handle, Bitmap.Palette, BitmapHeader^, BitmapImage^);
StretchDIBits(Canvas.Handle,
DestRect.Left, DestRect.Top,
// 目标初始坐标
DestRect.Right - DestRect.Left,
// 目标宽度
DestRect.Bottom - DestRect.Top,
// 目标高度
0, 0, // 源初始坐标
Bitmap.Width, Bitmap.Height,
// 源高度和宽度
BitmapImage,
TBitmapInfo(BitmapHeader^),
DIB_RGB_COLORS,
SRCCOPY)
//位图按照要求进行拉伸
finally
FreeMem(BitmapHeader);
//内存释放
FreeMem(BitmapImage);
end;
end; {PrintBitmap}
StretchDIBits时,画到临时图上,然后再对临时图片取反操作。最后再将临时图打印
proceduer PrintBitmap(Canvas: TCanvas; DestRect: TRect; Bitmap: TBitmap);
这个bitmap
用GDI+也可以替换颜色的,即先替换白色成A色,转了背景后再转...
可行,也可以用其他图片工具做反色处理,如photoshop
对整幅图进行扫描,进行二值化处理,黑(大于某个rgb值)的变白,其他颜色的变黑,应该就可以了