Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: PicImage C#  (Прочитано 7938 раз)
0 Пользователей и 3 Гостей смотрят эту тему.
Kok
Гость
« : 18-08-2004 13:55 » 

• как достучаться до отдельного пикселя в PictureImage
• как сделать из .jpg/.bmp файла -> массив RGB MxN
Записан
Serega
Гость
« Ответ #1 : 18-08-2004 16:26 » 

Что такое PictureImage ?

Получить RGB пикселя картинки можно так
Код:
using(Bitmap bitmap = new Bitmap("image.jpg", false))
using(StreamWriter pixelFile = new StreamWriter("pixels.txt"))
for(int y = 0; y < bitmap.Height; y++)
for(int x = 0; x < bitmap.Width; x++)
{
pixelFile.Write("x: " + x + " y: " + y);
Color c = bitmap.GetPixel(x, y);
pixelFile.WriteLine(" color: R" + c.R + " G" + c.G + " B" + c.B);
}
« Последнее редактирование: 30-11-2007 22:32 от Алексей1153++ » Записан
Anonymous
Гость
« Ответ #2 : 18-08-2004 16:51 » 

спасибо, уже понял но вот ещё.

"
Bitmap mB = new Bitmap(dlg.OpenFile());
mB.GetPixel(50.50);
"
компилится, всё Ок


"
pictureBox1.Image = new Bitmap(dlg.OpenFile());
pictureBox1.Image.GetPixel(50.50);
"
не компилится.
странно. вроде должно.  .net говорит что не там такого метода GetPizel();


а можно так?
"
Bitmap mB = new Bitmap(dlg.OpenFile());
mB.GetPixel(50.50);
pictureBox1.Image = mB;
"
Записан
Kok
Гость
« Ответ #3 : 18-08-2004 16:54 » 

блин, всё забываю входить под ником, теперь уже и не отредактируешь сообщ
Записан
Alex White
Участник

ua
Offline Offline
Пол: Мужской

« Ответ #4 : 18-08-2004 17:34 » new

все правильно, не компилится. ибо как у pictureBox1.Image (а это класс System.Drawing.Image ) в самом деле нет такого метода. по этому предлагаю делать так:

Код:
pictureBox1.Image = new Bitmap(dlg.OpenFile());
((Bitmap)pictureBox1.Image).GetPixel(50.50);

или вообще так)

Код:
Bitmap bmp = new Bitmap(dlg.OpenFile());
pictureBox1.Image = bmp;
bmp.GetPixel(50.50);
« Последнее редактирование: 30-11-2007 22:33 от Алексей1153++ » Записан
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines