1752687 Members
5609 Online
108789 Solutions
New Discussion

Pattern brush scaling

 
Denis Dudko
New Member

Pattern brush scaling

I try to use bitmap pattern brush to fill shapes, using PCL driver on HP (HP4200)

Test code:
HBITMAP hbmp=::LoadBitmap( NULL, (char*)32753 );
LOGBRUSH lb={BS_PATTERN,clRed,(long)hbmp};
HBRUSH hbrsh=CreateBrushIndirect(&lb);
HBRUSH hbrsh_old=::SelectObject(hdc,hbrsh);
::Rectangle( hdc,2100,100,2700,800 );
::SelectObject(hdc,hbrsh_old);
::DeleteObject(hbrsh);

PCL6:
When driver settings have "Print Optimization: Enabled" - pattern is printed scaled (that is - large size). When "Disabled" - pattern is printed small (matching each pixel to printer point).

PCL5:
This driver had feature "Send graphics as raster/vector". In "vector" case my pattern is also scaling to large size.

Maybe the problem is in place where pattern is rasterizing to printer canvas - on printer or computer.

So the question is: How to disable this feature (to scale or not to scale in all cases) or how to tell if it is turned on?