الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف يمكن تغيير لون صورة Metafile على الشاشة؟

مغلق
بدأه Safena في 8 أكتوبر 2004 · 3 رد · 501 مشاهدة · في لغة Delphi
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم

هل توجد طريقة لتغيير لون صورة Metafile على الشاشة. على سبيل المثال: فلنقل أن الصورة تتكون من مربعات باللون الأسود كيف يمكن تغيير لون هذه المربعات إلى اللون الأبيض؟

وجزاكم الله خيرا....

تم تعديل هذه المشاركة بواسطة Safena في 8 أكتوبر 2004 في 21:20

#2

الخاصية Pixels في Canvas

مثال form1.Canvas.Pixels[x,y]:=clBlue;

procedure TForm1.Button1Click(Sender: TObject);
var x,y:integer;
begin
for x:=0 to 800 do
for y:=0 to 600 do
form1.Canvas.Pixels[x,y]:=clBlue;
end;
#3

شكراً لك أخي عروة، لكن هذه الخاصية للصور النقطية Bitmaps وليس Metafile!

أنا أعلم أن طريقة تغيير اللون لل Metafiles ليست سهلة وأعلم أنها تحتاج إلى عمل وجهد كبيرين حتى أن مايكروسوفت تقول ذلك في موقعها. الطريقة تحتاج إلى شخص متمرس في اللغة وأنا لست كذلك ):

جرب طريقتك على أي صورة Metafile وأخبرني بالنتيجة. ولك جزيل الشكر.

على فكرة: طريقتك بطيئة جداً في تنفيذها على صورة بحجم 800 × 600. الأفضل إستخدام طريقة BrushCopy فهي أنسب (على الرغم من أنها هنا للتوافقية فقط). هذا ما تقوله بورلاند في ملف المساعدة:

Copies a portion of a bitmap onto a rectangle on the canvas, replacing one of the colors of the bitmap with the brush of the canvas.

سلام

تم تعديل هذه المشاركة بواسطة Safena في 10 أكتوبر 2004 في 21:00

#4

صحيح ..

هذا الطريقة بطيئة جدا جدا

من اجل السرعة استخدم ScanLine ,.. هنا السرعة !!

هذا الموضوع مغلق.

مواضيع مشابهة

عدد الزوار حالياً

المتواجدون خلال آخر دقيقتين · يتحدّث كل ٣٠ ثانية

—الإجمالي—أعضاء مسجّلون—زوار بدون تسجيل

جارٍ التحقق من المتواجدين…