السلام عليكم ورحمة الله وبركاتة
اجد اكثر البرامج المتقدمة تستخدم صور من منوع png منعددة الايقونات كيف اتعامل معها فى البرمجة
ك الصورة دى
ارجوا الاهتمام
لا اعلم ماذا تقصد بالضبط
اذا كان قصدك تعديل الصورة او عمل تأثيرات او تغيير الوان فيمكنك استعمال شيئ يدعى Image processing
هناك مكتبات جاهزة فيها دوال تقوم باداء عمليات الimage processing وهناك طرق لعمله يدويا سواء بالمؤشرات او get/set pixel
او اذا كان قصدك شيئ اخر وضح لو سمحت ..
شكرا اخى على الاهتمام
ولكن قصدى
ان الصورة متعددة فيها الايقونة 3 فى برامج الانتى فيرس والبرامج الكبيرة اجد فى مجلد الصور الخاص بالبرنامج صورة من نوع png كما فى الصورة
السوال كيف يتمكن فى اظهار كل ايقونة على حدى لان بعض الصور يوجد ايقونات بنفس الشكل ولكن متغيرة فى اللون وفى صورة واحدة
شكرا
قصدوا تأثيرات الأزرار بالصور (عند المرور بالماوس تظهر الصورة ذو اللون الفاتح - عند الضغط تظهر الغامضة اللون - وهكذا).
بامكانك تضيف الصور للريسورس وفي أحداث الماوس الخاصة بزر الأمر تستبدل صورة الزر في كل مرة
كيف استبدلها و الصور فى الثلاثة فى ملف واحد
حمل الملف الصورة وسوف تعرف قصدى
.....
الطريقة هي تغيير الصورة بناء على أحداث الماوس (MouseEnter, MouseLeave, MouseDown, MouseUp)
منقول
كود :
public Image ImageSplit(Image srcImage, byte index, bool vertical ) {
GC.Collect();
Bitmap bmp = default(Bitmap);
if (vertical) {
bmp = new Bitmap(srcImage.Width, Convert.ToInt32(srcImage.Height / 3));
} else {
bmp = new Bitmap(Convert.ToInt32(srcImage.Width / 3), srcImage.Height);
}
Graphics g = Graphics.FromImage(bmp);
g.Clear(Color.Transparent);
if (vertical) {
g.DrawImage(srcImage,
new Rectangle(0, 0, srcImage.Width, Convert.ToInt32(srcImage.Height / 3)),
new Rectangle(0, Convert.ToInt32(srcImage.Height / 3) * index, srcImage.Width, Convert.ToInt32(srcImage.Height / 3)),
GraphicsUnit.Pixel);
} else {
g.DrawImage(srcImage,
new Rectangle(0, 0, Convert.ToInt32(srcImage.Width / 3), srcImage.Height),
new Rectangle(Convert.ToInt32(srcImage.Width / 3) * index, 0, Convert.ToInt32(srcImage.Width / 3), srcImage.Height),
GraphicsUnit.Pixel);
}
return bmp;
}
طريقة الاستخدام (البارامتر الأخير يحدد إذا كانت الصور أفقية أو عمودية)
كود :
label1.Image = ImageSplit(Properties.Resources.search, 1, false)
.....
انا عجز عن الشكر
ممكن شرح اطريقة مع الكود vb
الكود يعمل على الصور التى بالعرض ليس بالطول
شكرا