A kérdésre adott válasz szám 78056

GDI, rajz, vászon | Nyomtatás grafika és komplex, zoom |

Szia kedves emberek a királyságot. Kérem, mondja meg, hogyan lehet megoldani ezt a problémát: nyomtatás esetén egy téglalap vagy más alakú Brush.Style = bsCross vagy más jellegű rács nyomtatási rács egy fekete háttér, és tényleg kell a fehér és a jobb átláthatóság.
Itt egy példa a kódot, amely megjeleníti egy téglalapot a fekete háttér, vagy inkább 2 téglalap:

Printer.BeginDoc;
A Printer.Canvas do
kezdődik
Brush.Style: = bsSolid;
Brush.Color: = clWhite;
FillRect (ClientRect);
Brush.Color: = clGreen;
Brush.Style: = bsDiagCross;
FillRect (téglalap (100. 100. 500. 500));
Téglalap (600. 100. 1000. 500);
végén;
Printer.EndDoc;


Mindkét téglalap nyomtatás során megfeketedett egy halvány fénysugár oszlopok.

Követ akármi válasz erre a kérdésre via RSS

eljárás TForm3.FormClick (Sender: TObject);
var
I, Y: egész;
Bitmap: TBitmap;
kezdődik
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;
vászon do
kezdődik
az I: = 0,, 10 - 1 do
Y: = 0,, 10 - 1 do
Draw (I * 32. Y * 32. Bitmap);
végén;

Ezután tudja valaki mondani nekem, hogy kiírja a számok árnyékolással.
egyszerűen
Brush.Color: = clGreen;
Brush.Style: = bsDiagCross;
Téglalap (600, 100, 900, 400);
megjeleníti átlátszó négyzet.

de te, akkor gondolom valami ehhez hasonlót (talán):

vászon do
kezdődik
Brush.Bitmap: = TBitmap.Create;
Brush.Bitmap.LoadFromFile ( 'mybmp.bmp');
// Brush.Style: = bsDiagCross;
// Téglalap (600, 500, 900, 1500);
FillRect (téglalap (100. 100. 500. 500));
Brush.Bitmap.Free;
Brush.Bitmap: = nil;
végén;


ahol mybmp átlátszó rajz, 16x16, vagy bármilyen más formában.

Köszönöm a válaszokat, látszólag kell nyomtatni az összes formák a rács csak fehér alapon, de az én ez még mindig jobb, mint a fekete.
Egy korábbi poszt sor:

Téglalap (600. 900. 900. 1200); // fekete négyzet bárok, nem átlátszó


Meg kell kinéznie:

Téglalap (600. 900. 900. 1200); // fehér négyzet a rudak, nem átlátszó

Kapcsolódó cikkek