06-04-2010, 04:48 PM
ramijz
06-04-2010, 07:07 PM
السلام عليكم
تستطيع التحكم بأي صورة في الدلفي عن طريق Canvas وبكل الاحول في المشاركة القادمة سوف اضع مثال عملي ان شاء الله لكن علي ان اقوم بالبحث عن هذه الشيفرة في ارشيفي لاني عملت بها منذ 7 سنوات يومها كنت احاول تقليد لعبة red alert ولكن الملل قتلني
سلام
تستطيع التحكم بأي صورة في الدلفي عن طريق Canvas وبكل الاحول في المشاركة القادمة سوف اضع مثال عملي ان شاء الله لكن علي ان اقوم بالبحث عن هذه الشيفرة في ارشيفي لاني عملت بها منذ 7 سنوات يومها كنت احاول تقليد لعبة red alert ولكن الملل قتلني
سلام
06-04-2010, 07:24 PM
أولا: السلام عليكم ورحمة الله
راجع هذا:
كود سورس GraphicEffect
بالتوفيق.
راجع هذا:
كود سورس GraphicEffect
بالتوفيق.
06-04-2010, 07:44 PM
الجواب موجود مع اختصاص برمجيات سنة رابعة
08-04-2010, 01:25 PM
السلام عليكم
الكود التالي، محاولة مبسطة:
يمكن تحسين السرعة باستخدام ScanLine
كما يمكن تطويره تحديد نسب تكبير وتصغير أكثر مرونة.
الكود التالي، محاولة مبسطة:
يمكن تحسين السرعة باستخدام ScanLine
كما يمكن تطويره تحديد نسب تكبير وتصغير أكثر مرونة.
PHP كود :
procedure TForm1.Button1Click(Sender: TObject);
var
x, y : integer;
Bmp1, Bmp2: TBitmap;
x2, y2, i, j: integer;
iScaleW, iScaleH: integer;
begin
iScaleW := 2;
iScaleH := 2;
Bmp1 := Image1.Picture.Bitmap;
Bmp2 := Image2.Picture.Bitmap;
Bmp2.Width := Bmp1.Width * iScaleW;
Bmp2.Height := Bmp1.Height * iScaleH;
for y := 0 to (Bmp1.Height -1) do
begin
y2 := (y * iScaleH)+ 1;
for x := 0 to (Bmp1.Width -1) do
begin
x2 := (x * iScaleW) + 1;
for i := 0 to iScaleH - 1 do
begin
for j := 0 to iScaleW -1 do
begin
Bmp2.Canvas.Pixels[x2 +j , y2 + i] := Bmp1.Canvas.Pixels[x, y];
end;
end;
end;
end;
Image2.Width := Bmp2.Width;
Image2.Height := Bmp2.Height;
end;