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

هل من الممكن تكبير حجم البكسل في الصورة

بدأه محمد زياد الخياط في 26 يناير 2009 · 1 رد · 724 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم :

هل من الممكن تكبير البكسل في عنصر الصورة وجعل البكسل ياخذ صورة bmp اثناء التكبير

تم تعديل هذه المشاركة بواسطة محمد زياد الخياط في 26 يناير 2009 في 04:14

لا اله الا الله وحده لا شريك له

#2

مرحباً أخي الكريم .

بالنسبة لتكبير شيء يسمى ( Pixel ) فهذا غير وارد لأنها عبارة عن ( نقطة ) نقطة ضوئية, يمكنك الإستعانة بـ Bitmap وعمل حلقة تكرارية تقرأ الـ Pixels من صورة ما ومن ثم تقوم برسم Rectangles للون الـ Pixel المقروءة على الـ Bitmap المنشئة, هذا مأراه ممكن .

مثال :

 

Dim Img [color= #b1b100;]As Bitmap [color= #339933;]= Image[color= #339933;].FromFile[color= #009900;]( [color= #0000ff;]"SomeFileName" [color= #009900;])

Dim Bmp [color= #b1b100;]As [color= #000000; font-weight: bold;]New Bitmap[color= #009900;]( Img[color= #339933;].Width[color= #339933;], Img[color= #339933;].Height [color= #009900;])

Dim X[color= #339933;], Y [color= #b1b100;]As Integer

Dim MaxX[color= #339933;], MaxY [color= #b1b100;]As Integer

Dim CColor [color= #b1b100;]As Color

MaxX [color= #339933;]= CInt[color= #009900;]( Img[color= #339933;].Width [color= #339933;]/ [color= #cc66cc;]2[color= #009900;]) [color= #339933;]: MaxY [color= #339933;]= CInt[color= #009900;]( Img[color= #339933;].Height [color= #339933;]/[color= #cc66cc;]2 [color= #009900;])

Dim Rect [color= #b1b100;]As [color= #000000; font-weight: bold;]New Rectangle[color= #009900;]( [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]2[color= #339933;], [color= #cc66cc;]2 [color= #009900;])

Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromImage[color= #009900;]( Bmp [color= #009900;])

[color= #b1b100;]Do [color= #b1b100;]While Y [color= #339933;]< MaxY

X [color= #339933;]= [color= #cc66cc;]0

[color= #b1b100;]Do [color= #b1b100;]While X [color= #339933;]< MaxX

CColor [color= #339933;]= Img[color= #339933;].GetPixel[color= #009900;]( X[color= #339933;], Y [color= #009900;])

Rect[color= #339933;].Left [color= #339933;]= [color= #009900;](X [color= #339933;]*[color= #cc66cc;]2 [color= #009900;])

Rect[color= #339933;].Top [color= #339933;]= [color= #009900;](Y [color= #339933;]*[color= #cc66cc;]2 [color= #009900;])

G[color= #339933;].FillRectangle[color= #009900;]( [color= #000000; font-weight: bold;]New SolidBrush[color= #009900;]( CColor[color= #339933;], Rect [color= #009900;])

X [color= #339933;]+= [color= #cc66cc;]1

Loop

Y [color= #339933;]+= [color= #cc66cc;]1

Loop

[color= #990000;]End Using

PictureBox1[color= #339933;].Image [color= #339933;]= Bmp

وإذا أردت رسمهم على شكل دوائر, فإستبدل FillRectangle بـ FillEllipse .

أو يمكنك أختصار هذا بـ :

 

Dim Img [color= #b1b100;]As Bitmap [color= #339933;]= Image[color= #339933;].FromFile[color= #009900;]( [color= #0000ff;]"SomeFileName" [color= #009900;])

Dim Bmp [color= #b1b100;]As [color= #000000; font-weight: bold;]New Bitmap[color= #009900;]( Img[color= #339933;].Width[color= #339933;], Img[color= #339933;].Height [color= #009900;])

Dim MaxX[color= #339933;], MaxY [color= #b1b100;]As Integer

MaxX [color= #339933;]= CInt[color= #009900;]( Img[color= #339933;].Width [color= #339933;]/ [color= #cc66cc;]2[color= #009900;]) [color= #339933;]: MaxY [color= #339933;]= CInt[color= #009900;]( Img[color= #339933;].Height [color= #339933;]/[color= #cc66cc;]2 [color= #009900;])

Using G [color= #b1b100;]As Graphics [color= #339933;]= Graphics[color= #339933;].FromImage[color= #009900;]( Bmp [color= #009900;])

G[color= #339933;].DrawRectangle[color= #009900;]( Img[color= #339933;], [color= #000000; font-weight: bold;]New Rectangle[color= #009900;]( [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #339933;], Img[color= #339933;].Width[color= #339933;], Img[color= #339933;].Height[color= #009900;])[color= #339933;], [color= #000000; font-weight: bold;]New Rectange[color= #009900;]( [color= #cc66cc;]0[color= #339933;], [color= #cc66cc;]0[color= #339933;], MaxX[color= #339933;], Ma
xY [color= #009900;]) [color= #339933;], Pixel [color= #009900;])

بهذا تكون قد كبرت ( مايقابل الـ Pixel ) بضعف حجمه .

بالتوفيق .

تم تعديل هذه المشاركة بواسطة Bashar Rabat في 26 يناير 2009 في 07:36

The important thing is not so much

that every child should be taught,

as that every child should be given the wish to learn.

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

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

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

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

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