PDA

View Full Version : چگونه می توان رنگ یک پیکسل را بر گرداند ؟



Xcalivorse
جمعه 28 اردیبهشت 1386, 02:55 صبح
سلام. می خواستم بدونم با کدوم دستور می توان رنگ یک پیکسل را بر گرداند ؟

محمد میرمصطفی
جمعه 28 اردیبهشت 1386, 03:19 صبح
با GetPixel از کلاس Bitmap

smt_414
چهارشنبه 26 دی 1386, 19:24 عصر
سلام
من یه برنامه ساده نوشتم که پیکسل ها رو کپی کنه از تاپیک های موجود در سایت استفاده کردم اما نتیجه نگرفتم
برنامه رو اینجا قرار می دم امیدوارم شما بتونید ایرادش رو رفع کنید
با تشکر

sinpin
پنج شنبه 27 دی 1386, 04:04 صبح
سلام
من یه برنامه ساده نوشتم که پیکسل ها رو کپی کنه از تاپیک های موجود در سایت استفاده کردم اما نتیجه نگرفتم
برنامه رو اینجا قرار می دم امیدوارم شما بتونید ایرادش رو رفع کنید
با تشکر
صرف نظر از صحیح بودن یا نبودن الگوریتم؛ من با تغییر کد خودتون به جواب رسیدم.
متود void get_set_pixel رو از شکل زیر:

void get_set_pixel()
{
Bitmap bmp1 = new Bitmap(pictureBox1.Image);
Bitmap bmp2 = new Bitmap(this.Width, this.Height);
this.DrawToBitmap(bmp2, new Rectangle(new Point(0, 0)/*this.Location*/, this.Size));
for (int i = 0; i < 10; i++)
for (int j = 0; j < 200; j++)
{
Color color = bmp1.GetPixel(i, j);
/* int r =color.R; // the Red component
int b = color.B; // the Blue component
int g = color.G; // the GREEN component
Color newColor = Color.FromArgb(r, g, b);
bmp2.SetPixel(i, j, newColor);*/
bmp2.SetPixel(i, j, color);
}

}به این شکل :

void get_set_pixel()
{
Bitmap bmp1 = new Bitmap(pictureBox1.Image);
Bitmap bmp2 = new Bitmap(pictureBox1.Image.Width, pictureBox1.Image.Height);
Color color;
for (int i = 0; i < bmp1.Width; i++)
for (int j = 0; j < bmp1.Height; j++)
{
color = bmp1.GetPixel(i, j);
bmp2.SetPixel(i, j, color);
}
pictureBox2.Image = bmp2;
}تغییر بدید.