Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> kak v Applett-e poluchit' Color Pixel-ja? Event -> mousePressed (!) 
:(
    Опции темы
polosatij
  Дата 10.11.2004, 15:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: нет
Всего: 8



vot.. sobstrenno trabla..
est' bAAAl'shaja kartinka.. nuzhno poluchat' zveta iz nee i obrabatyvat'.. imenno te zveta, na kot. user nazhal..
zaranee pasi smile


--------------------
PM   Вверх
Domestic Cat
Дата 10.11.2004, 23:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: нет
Всего: 172



1. Использовать BufferedImage для отображениja рисунка

2. Определить координату точки где произошеl клиk мыши (относительно рисунка, естественно) - через MouseListener

3. Получить колор пиксель для этой точки:

Код

int pixel = image.getRGB(x, y);


4. Получить RGB:

Код

ColorModel colorModel = image.getColorModel();
int red = colorModel.getRed(pixel);
int blue = colorModel.getBlue(pixel);
int green = colorModel.getGreen(pixel);


5. Получить колор:

Код

Color color = new Color(red, green, blue);



--------------------

PM   Вверх
polosatij
  Дата 10.11.2004, 23:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: нет
Всего: 8



pasi smile

skazhi.. a pochemu imenno cherez Buffer smile // BufferedImage ?
pochemu net methody, naprimer, srazu ot image // Image image.

gde sde' logika? ved' kartinka u menja tak i tak v pamjati visit!?

The BufferedImage subclass describes an Image with an accessible buffer of image data. smile

----


chto znachit tip Imaga? // = imageType smile

BufferedImage(int width, int height, int imageType)


--------------------
PM   Вверх
Domestic Cat
Дата 10.11.2004, 23:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: нет
Всего: 172



Потому, что только в BufferedImage есть методy set/getRGB.

Другой вариант:

Код

   pixels = new int[width*height];
   PixelGrabber pg = new PixelGrabber(picture, 0, 0, width, height, pixels, 0, width);
   try {
     pg.grabPixels();
     }
   catch (InterruptedException e)  { }

   int  c = pixels[index];
   int  red = (c & 0x00ff0000) >> 16;
   int  green = (c & 0x0000ff00) >> 8;
   int  blue = c & 0x000000ff;

   Color c = new Color(red,blue,green);



--------------------

PM   Вверх
polosatij
  Дата 11.11.2004, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1143
Регистрация: 22.2.2004
Где: Stuttgart<-> ;Karlsruhe, Germany

Репутация: нет
Всего: 8



Цитата(Domestic @ 10.11.2004, 23:53)
PixelGrabber pg = new PixelGrabber(picture, 0, 0, width, height, pixels, 0, width);



ja ne mogu sebe etogo pozvolit'.. budet Grabit'- zagruzka prozessora podprygnet.. u menja itak kartinka pererisovyvaetsja s pomoshju -> ImageFilter. i ja teper' dumaju, kak mne ee pererisovyvat', no ne vsju.. a chast'.. t.k. pri pererisovka prozessor 1300 Duron zagruzhaetsja na + 30, 40 prozentov smile , chto vyzivaet zavisanie myshi na 1/2, 1/3 sekundy i eto zametno smile


Domestic Cat ja poproboval vchera otgrabit' tol'ko odin PIXEL!

Код

PixelGrabber pg = new PixelGrabber(picture, e.getX()-28, e.getY()-3, e.getX()-28, e.getY()-3, pixels, 0, 1);


i u menja pochemu-to ne vyhodit smile kakoe-to strannoe smeshenie (u menja kartinka v canvase nahoditsja po adresu: x=28, y=3), a oshibki najti ne mogu

proboval i tak:

Код

PixelGrabber pg = new PixelGrabber(picture, e.getX(), e.getY(), e.getX(), e.getY(), pixels, 0, 1);


tozhe ne vyhodit..

problema i

Цитата(Domestic @ 10.11.2004, 23:17)
1. Использовать BufferedImage для отображениja рисунка


takoe oshushenie, chto v BufferedImage nichego net.. t.k.

Цитата(Domestic @ 10.11.2004, 23:17)
int pixel = image.getRGB(x, y);


pixel vsegda odin i tot zhe ne zavisimo ot nazhatija na zvet..

proboval vot tak vot:

Код

BufferedImage bi= new BufferedImage(schirina, dlinna, ...INT_GRB);


kstati Domestic Cat, ty oshibsja v
Код

[quote=Domestic Cat, 10.11.2004,  23:17]int pixel = image.getRGB(x, y);[/quote]
ili net smile

t.k. Image image = new BufferedImage(..); // image - ne imeet takoj methody smile
mlin.. gde oshibka smile

mozhet drugoj konstruktor nuzhno ispol'zovat' v BufferedImage? smile
no tam klassy kakie-to.. golovy slomisch smile zachem oni nuzhny.. smile


--------------------
PM   Вверх
Domestic Cat
Дата 11.11.2004, 19:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5452
Регистрация: 3.5.2004
Где: Dallas, US

Репутация: нет
Всего: 172



Цитата
mozhet drugoj konstruktor nuzhno ispol'zovat' v BufferedImage?


попробуй так:

Код

BufferedImage image =  ImageIO.read(getClass().getResource(fileName)); // javax.imageio.ImageIO


Цитата
Image image = new BufferedImage(..); // image - ne imeet takoj methody 


Image не имеет, a BufferedImage - имеет. Нужно было бы

BufferedImage image = new BufferedImage(..);

PS плиз, пользуйся транслитом. а тo я одиn с ним мучаюсь smile

Это сообщение отредактировал(а) Domestic Cat - 11.11.2004, 19:43


--------------------

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Апплеты | Следующая тема »


 




[ Время генерации скрипта: 0.0950 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.