ПредишенСледващото

Sohraneneie снимки на кутия с бои

Това е timage има, всичко е съвсем просто -
Image1.Picture.Bitmap.SaveToFile (наименование);
но какво да се прави за TPaintBox, изглежда, няма такова, т.е. така че не пиша -
paintbox1.Picture.Bitmap.SaveToFile (наименование);

Имаме TPaintBox платно


> Какво да направя, за tpaintbox

С помощта на път, когато създавате Bitmap, привлече на своя Canvas същото, запазва и го унищожава.

защо е ли това програмиране?

Наемете програмист, плащат пари. Разбира се по-добре, отколкото на сайта без наем

Т.е. се оказа, че остава само това, което се вижда.

Ето как този размер на растерни изображения и се възползва от него, така че да се вписва всичко.

И това, което не позволява да се направи кутия с бои PO ПГ по-голям от размера на видимата област и го постави на ScrollBox?

> Amoeba_ # XA0; (09/04/13 22:26) [17]
Тук растерна графика може да се направи по-голяма от видимата област, както и кутия с бои привлича само това, което е във видимата област.


> Кутия с бои привлича само това, което е във видимата област

Това е, че няма мозък и пиян.

TC не изглежда да разбере какво го посъветва. Означава не да се копират на Bitmap PaintBox.Canvas, но с нулата рисувани върху платно си с един и същи код, # XA0; че кутия с бои.

Нека показва код, той създава един модел на Bitmap "е на.

> Amoeba_ (04/10/13 11:10) [19]
> Нека показва код, той създава един модел на Bitmap "е на.
(С) (г)

Да, и направи същия код е доста сложно, много код.


> Amoeba_ (04/10/13 16:42) [22]

Пак там Boys о момчета Form1.Canvas.foo (). И Преструктуриране на код подплата - той е като смъртта.

Не, или image.canvas или paintbox.canvas, Преструктуриране на също не е вариант, има сега, за да бъдат отпечатани, е необходимо, за да прехвърлите всичко. Amoeba_ # XA0; (10/04/13 16:42) [22], е възможно и добър добив.

> Amoeba_ (04/10/13 16:42) [22]
И как да се прехвърлят на платното като параметър, което е, аз не мога да си представя ..

процедура DrawMyPicture (платно: TCanvas);
започвам
# XA0; с Canvas правя
# XA0; започне
# XA0; # XA0. // тук ние извършваме всички живопис като кутия с бои и растерна графика
# XA0; край;
приключи;

Въз основа на своята кутия с бои, така OnPaint
DrawMyPicture (PaintBox.Canvas);

Въз основа на растерна графика и да го съхранява в специален метод, така че
TempBitmap: = TBitmap.Create;
опитвам
# XA0; DrawMyPicture (TempBitmap.Canvas);
# XA0; TempBitmap.SaveToFile (FileName);
накрая
# XA0; TempBitmap.Free;
приключи;


> Сега, за печат, за да прехвърлите всички необходими

И какво лошо има в това? Нормално.

> Amoeba_ (04/11/13 11:40) [26]
Благодаря ви, че е възможно да се приложи ..

Ако имате намерение да запишете или да преминете на снимката - така че използвайте TImage, TPaintBox за други цели, не ме разберете ..

> Amoeba_ (04/11/13 11:40) [26]
Спечелените предава очертават като параметър).

Ето как става това всичко се оказа странно, защо не се припокриват кутия с бои само две растерна графика, се оказва основната фигура в общия случай не може да се види -
процедура TForm4.PaintBox1Paint (Sender: TObject);
Var Bitmap: TBitMap;
# XA0; LenL, LenR: LongInt;
започвам
DrawPicture (PaintBox1.Canvas); // 1, се създава директно от началника # XA0; рисунка
// 2, naklayvaemoe прозорец -
# XA0; Display # XA0; # XA0; # XA0; : = TBitmap.Create; # XA0;
# XA0; Display.Width: = PaintBox1.Width;
# XA0; Display.Height: = PaintBox1.Height;

# XA0; // Почистваме платно.
# XA0; Display.Canvas.Brush.Color: = clWhite;
# XA0; Display.Canvas.FillRect (Display.Canvas.ClipRect);

# XA0; // Draw прозорец.
# 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; // изход.
# XA0; PaintBox1.Canvas.Draw (0, 0, дисплей);
# XA0; Display.Free;

// 3, вратата - изображението на смес
ако (Unit_Main.sdv<>0) или (Unit_Main.sok<>0), тогава Bitmap: = TBitMap.Create;
ако Unit_Main.sdv<>0 след това
започвам
# XA0; // Load в растерна графика избран графичен файл
# XA0; BitMap.LoadFromFile ( "картина / dv.bmp");
# XA0; // изображение се прехвърля на платно на формуляра
# XA0; paintbox1.Canvas.Draw (кръг (DL-65), кръг (НР-130) + кръг (вер), Bitmap);
# XA0; // обект е унищожен Bitmap
приключи;

uzho ясно - Display.Transparent: = True;

Подкрепете проекта - споделете линка, благодаря!