Sohraneneie képek paintbox

Sohraneneie képek paintbox

Ez timage van, minden egészen egyszerűen -
Image1.Picture.Bitmap.SaveToFile (név);
de mit kell tenni TPaintBox, úgy tűnik, nincs ilyen, vagyis így nem írok -
paintbox1.Picture.Bitmap.SaveToFile (név);

Van TPaintBox vászon


> Mi a teendő a tpaintbox

Útján alkalommal, amikor egy bitmap, veheti vászon ugyanaz, megőrzi és elpusztítja azt.

miért, ez a programozás?

Bérelhet programozó, pénzt fizetni. Természetesen jobb, mint a honlapon ingyenesen kölcsönözni

Ie Kiderült, hogy ott marad, csak az, ami látható.

Ez volt, hogy ez a bitmap méretét és felhívni rá úgy, hogy illik mindent.

És mi akadályozza, hogy a festékes doboz po ng nagyobb, mint a méret a látható terület és tedd ScrollBox?

> Amoeba_ # XA0; (04/09/13 22:26) [17]
Itt BitMap lehet nagyobb, mint a látható területen, és paintbox felhívja csak az, ami a látható tartományban.


> Festékes doboz rajzát csak az, ami a látható tartományban

Ez egy nem agy és ivott.

TC tűnik nem érti, mi azt tanácsolom neki. Kifejezést nem lehet átmásolni a Bitmap PaintBox.Canvas, de karcolás festett vásznat ugyanazzal a kóddal, # XA0, azaz paintbox.

Hadd mutassa meg kódot, akkor létrehoz egy mintát a Bitmap „e.

> Amoeba_ (10.04.13 11:10) [19]
> Hadd mutassa meg kódot, akkor létrehoz egy mintát a Bitmap „e.
(C) (R)

Igen, és felhívni ugyanazt a kódot meglehetősen bonyolult, sok kódot.


> Amoeba_ (10.04.13 16:42) [22]

Ugyanott Boys ó fiúk Form1.Canvas.foo (). És Refactor kód bélés - ez olyan, mint a halál.

Nem, vagy image.canvas vagy paintbox.canvas, Refactor nem is egy lehetőség, de most ki kell nyomtatni, meg kell, hogy dolgozza át mindent. Amoeba_ # XA0; (10/04/13 16:42) [22], ez lehetséges, és jó hozammal.

> Amoeba_ (10.04.13 16:42) [22]
És hogyan lehet átvinni a vászonra, mint a paraméter, vagyis nem hiszem ..

eljárás DrawMyPicture (vászon: TCanvas);
kezdődik
# XA0; Canvas do
# XA0; kezdődik
# XA0; # XA0;. // itt végre minden festmény, mint paintbox és a Bitmap
# XA0; end;
végén;

Rajz az ő paintbox így OnPaint
DrawMyPicture (PaintBox.Canvas);

Rajz a Bitmap és tárolja egy speciális módszer,
TempBitmap: = TBitmap.Create;
megpróbál
# XA0; DrawMyPicture (TempBitmap.Canvas);
# XA0; TempBitmap.SaveToFile (fájlnév);
végül
# XA0; TempBitmap.Free;
végén;


> Most, hogy print, hogy dolgozza át az összes szükséges

És mi a baj ezzel? Normál.

> Amoeba_ (11.04.13 11:40) [26]
Köszönöm, akkor lehet felvinni ..

Ha azt tervezi, hogy mentse vagy keressük ki a képet - így használja a TImage, TPaintBox más célokra, nem értem én ..

> Amoeba_ (11.04.13 11:40) [26]
Az elnyert továbbít körvonalazza paraméterként).

Itt van, hogy ez az egész kiderült furcsa, hogy miért nem fedik egymást paintbox csak két bitmap fordul a főalak általában nem látható -
eljárás TForm4.PaintBox1Paint (Sender: TObject);
var BitMap: TBitMap;
# XA0; LenL, LenR: LongInt;
kezdődik
DrawPicture (PaintBox1.Canvas); // 1, közvetlenül által létrehozott vezető # XA0; rajz
// 2, naklayvaemoe ablak -
# XA0; Display # XA0; # XA0; # XA0; : = TBitmap.Create; # XA0;
# XA0; Display.Width: = PaintBox1.Width;
# XA0; Display.Height: = PaintBox1.Height;

# XA0; // Mi tiszta vásznon.
# XA0; Display.Canvas.Brush.Color: = clWhite;
# XA0; Display.Canvas.FillRect (Display.Canvas.ClipRect);

# XA0; // Draw ablakot.
# XA0; Display.Canvas.Pen.Width: = 2;
# XA0; Display.Canvas.Pen.Color: = clBlack;
# XA0; Display.Canvas.Brush.Color: = clRed;
# XA0; Display.Canvas.Rectangle (GetRectWindow);

# XA0; Display.Canvas.Pen.Width: = 2;
# XA0; Display.Canvas.Pen.Color: = clBlack;

# XA0; // kimenet.
# XA0; PaintBox1.Canvas.Draw (0, 0, kijelző);
# XA0; Display.Free;

// 3, az ajtó - a keverék kép
if (Unit_Main.sdv<>0) vagy (Unit_Main.sok<>0), akkor BitMap: = TBitMap.Create;
ha Unit_Main.sdv<>0, akkor
kezdődik
# XA0; // Terhelés BitMap kiválasztott képfájlt
# XA0; BitMap.LoadFromFile ( "kép / dv.bmp");
# XA0; // kép átkerül az űrlap vászon
# XA0; paintbox1.Canvas.Draw (kerek (dl-65), kerek (HP-130) + kerek (ver), BitMap);
# XA0; // objektum megszűnik BitMap
végén;

uzho világos - Display.Transparent: = True;