Răspunsul la întrebarea numărul 78056

GDI, desen pe panza | Imprimarea grafică și text complex, zoom |

Bună ziua dragi oameni ai regatului. Te rog spune-mi cum să rezolve această problemă: Când imprimați un dreptunghi sau o altă formă cu Brush.Style = bsCross sau alt tip de grilă cu zăbrele de imprimare pe un fundal negru, și am într-adevăr nevoie la alb, și o mai bună transparență.
Aici este un exemplu de cod în care afișează un dreptunghi pe un fundal negru, sau mai degrabă 2 dreptunghi:

Printer.BeginDoc;
cu Printer.Canvas do
începe
Brush.Style: = bsSolid;
Brush.Color: = clWhite;
FillRect (ClientRect);
Brush.Color: = clGreen;
Brush.Style: = bsDiagCross;
FillRect (Rect (100. 100. 500. 500));
Dreptunghi (600. 100. 1000. 500);
se încheie;
Printer.EndDoc;


Atât dreptunghi când imprimați transformat negru cu un bare de lumină slabă.

Urmați orice răspunsurile la această întrebare prin RSS

Procedura TForm3.FormClick (Expeditor: TObject);
var
I, Y: Integer;
Bitmap: TBitmap;
începe
Bitmap: = TBitmap.Create;
Bitmap.Width: = 32;
Bitmap.Height: = 32;
Bitmap.PixelFormat: = pf8bit;

Bitmap.Canvas.Brush.Color: = clWhite;
Bitmap.Canvas.FillRect (RECT (0. 0. 32. 32));

Bitmap.Canvas.Brush.Color: = clGreen;
Bitmap.Canvas.Brush.Style: = bsDiagCross;
SetBkColor (Bitmap.Canvas.Handle, clWhite);
Bitmap.Canvas.FillRect (RECT (0. 0. 32. 32));

Bitmap.TransparentColor: = clWhite;
Bitmap.Transparent: = true;
cu panza do
începe
pentru I: = 0, la 10 - 1, acestea să
pentru Y: = 0, la 10 - 1, acestea să
Desenați (I * 32. Y * 32. Bitmap);
se încheie;

Apoi, poate cineva să-mi spui cum se imprimă cifrele cu umbrire.
pur și simplu
Brush.Color: = clGreen;
Brush.Style: = bsDiagCross;
Dreptunghi (600, 100, 900, 400);
afișează pătrat transparente.

dar, vă puteți gândi la ceva de genul asta (probabil):

cu panza do
începe
Brush.Bitmap: = TBitmap.Create;
Brush.Bitmap.LoadFromFile ( 'mybmp.bmp');
// Brush.Style: = bsDiagCross;
// dreptunghi (600, 500, 900, 1500);
FillRect (Rect (100. 100. 500. 500));
Brush.Bitmap.Free;
Brush.Bitmap: = zero;
se încheie;


în cazul în care desenul mybmp transparent, 16x16, sau orice alt format.

Vă mulțumim pentru răspunsurile, se pare că va trebui să imprime toate formele cu zăbrele numai pe un fundal alb, dar în meu este încă mai bine decât negru.
Într-o linie de post anterior:

Dreptunghi (600. 900. 900. 1200); // pătrat negru cu bare, nu transparente


Ar trebui să arate astfel:

Dreptunghi (600. 900. 900. 1200); // pătrat alb cu bare, nu transparent

articole similare