و عليكم السلام ...
مثال جميل و رائع ..
لدي بعض الملاحظات على السريع :
لماذا قمت بارفاق صورة Image1.bmp مع المشروع (الصورة حجمها أكثر من التطبيق نفسه (أكثر من 1 ميجا ))
يمكنك تجنب ذلك عن طريق الرسم مباشرة في ال TBitmap
PHP كود :
var bmp : TBitmap ; begin bmp := TBitmap.Create ; bmp.SetSize(200,200); bmp.Canvas.Brush.Color:=clBlack; bmp.Canvas.FillRect(Rect(0,0,200,200)); bmp.SaveToFile('...');
end;
بالنسبة للمثال سيكون جيد جدا لو استخدمت ال GDI+ بدل ال GDI
مثال على السريع :
for i := 0 to 10 do begin pen.Width := i; pen.LineJoin := LineJoinRound; Graphics.DrawPath(pen, GraphicsPath);
end;
Graphics.DrawPath(pen, GraphicsPath);
Graphics.FillPath(brush, GraphicsPath);
end;
[COLOR="Red"]أخيرا هذه هدية مني :
ComboBoxFont : لعرض و معاينة الخطوط بدون OOP :[/COLOR]
PHP كود :
var FFont: TFont = nil; procedure TForm1.ComboBoxFontDrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); var FComboBoxFont: TComboBox; begin FComboBoxFont := TComboBox(Control); if not Assigned(FFont) then FFont := TFont.Create; if odSelected in State then begin FComboBoxFont.Canvas.brush.Color := clHighlight; FComboBoxFont.Canvas.FillRect(Rect); FComboBoxFont.Canvas.TextOut(Rect.Left, Rect.Top, FComboBoxFont.Items[index]);
end else begin FFont.Name := FComboBoxFont.Items[index]; FComboBoxFont.Canvas.Font.Assign(FFont); FComboBoxFont.Canvas.brush.Color := FComboBoxFont.Color; FComboBoxFont.Canvas.FillRect(Rect);