Re: TransparentBlt() limitation?
From: Feng Yuan [MSFT] (fyuan_at_online.microsoft.com)
Date: 03/08/04
- Next message: Valerie Hough: "Drawing striped lines in C#"
- Previous message: Christopher Bohn: "Re: BitBlt failing under XP with a locked screen saver"
- In reply to: sl: "TransparentBlt() limitation?"
- Next in thread: sl: "Re: TransparentBlt() limitation?"
- Reply: sl: "Re: TransparentBlt() limitation?"
- Messages sorted by: [ date ] [ thread ]
Date: Mon, 8 Mar 2004 14:18:34 -0800
Transparency is a tricking issue. Most likely it's not supported by printer
drivers. So GDI has to break it down to transparent and opaque areas and
only sending down the opaque ones.
For your problem, it's possible that GDI fails to allocate the memory needed
for the break down. The memory buffer may be needed in device resolution
which may be huge.
Solution:
1) Break large bitmap into bands.
2) Implement your own TrasnparentBlt for printing path.
3) Change to use raster operation. But this may not work on Postscript
printers.
-- Feng Yuan (www.fengyuan.com) This posting is provided "AS IS" with no warranties, and confers no rights.
- Next message: Valerie Hough: "Drawing striped lines in C#"
- Previous message: Christopher Bohn: "Re: BitBlt failing under XP with a locked screen saver"
- In reply to: sl: "TransparentBlt() limitation?"
- Next in thread: sl: "Re: TransparentBlt() limitation?"
- Reply: sl: "Re: TransparentBlt() limitation?"
- Messages sorted by: [ date ] [ thread ]
Relevant Pages
|