На каком компоненте рисовать, чтобы..
От: Lunik Россия  
Дата: 09.12.05 16:50
Оценка:
.. можно было содержимое копировать в буфер обмена как картинку (или получить Image),
и возможно ли такое, чтобы отрисованную картинку не нужно было прорисовывать заново каждый раз,
когда обновляеться панель (если это занимает много времени)
спасибо.
---
Lunik
Re: На каком компоненте рисовать, чтобы..
От: Blazkowicz Россия  
Дата: 09.12.05 16:56
Оценка:
Здравствуйте, Lunik, Вы писали:

L>.. можно было содержимое копировать в буфер обмена как картинку (или получить Image),

L>и возможно ли такое, чтобы отрисованную картинку не нужно было прорисовывать заново каждый раз,
L>когда обновляеться панель (если это занимает много времени)

Ну, земляк, каша какая-то а не вопрос.
Ты определись всетаки в буфер надо или просто картинку снять с компаненты, али росто с экрана?
А отчего у тебя картинка долго прорисовывается каждый раз? Может просто логику из пририсовки повыкидывать надо?
Re[2]: На каком компоненте рисовать, чтобы..
От: Lunik Россия  
Дата: 09.12.05 17:02
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Lunik, Вы писали:


L>>.. можно было содержимое копировать в буфер обмена как картинку (или получить Image),

L>>и возможно ли такое, чтобы отрисованную картинку не нужно было прорисовывать заново каждый раз,
L>>когда обновляеться панель (если это занимает много времени)

B>Ну, земляк, каша какая-то а не вопрос.

B>Ты определись всетаки в буфер надо или просто картинку снять с компаненты, али росто с экрана?
B>А отчего у тебя картинка долго прорисовывается каждый раз? Может просто логику из пририсовки повыкидывать надо?

Так, внесём ясность :),
апплет рисует графики функций. Соответственно, если пользователь захочет сохранить себе картинку,
то на диск я её записать не смогу, нужно скопировать в буфер (или нет?).
Долго рисуется, напиример, график sin(x), x из [-500;500] с шагом 0,5 в радианах
---
Lunik
Re[3]: На каком компоненте рисовать, чтобы..
От: Lunik Россия  
Дата: 09.12.05 17:04
Оценка:
Здравствуйте, Lunik, Вы писали:

L>Здравствуйте, Blazkowicz, Вы писали:


B>>Здравствуйте, Lunik, Вы писали:


L>>>.. можно было содержимое копировать в буфер обмена как картинку (или получить Image),

L>>>и возможно ли такое, чтобы отрисованную картинку не нужно было прорисовывать заново каждый раз,
L>>>когда обновляеться панель (если это занимает много времени)

B>>Ну, земляк, каша какая-то а не вопрос.

B>>Ты определись всетаки в буфер надо или просто картинку снять с компаненты, али росто с экрана?
B>>А отчего у тебя картинка долго прорисовывается каждый раз? Может просто логику из пририсовки повыкидывать надо?

L>Так, внесём ясность :),

L>апплет рисует графики функций. Соответственно, если пользователь захочет сохранить себе картинку,
L>то на диск я её записать не смогу, нужно скопировать в буфер (или нет?).
L>Долго рисуется, напиример, график sin(x), x из [-500;500] с шагом 0,5 в радианах

если можно получить Image, можно не прорисовывать каждый раз логику.
---
Lunik
Re[4]: На каком компоненте рисовать, чтобы..
От: Blazkowicz Россия  
Дата: 09.12.05 17:09
Оценка:
Здравствуйте, Lunik, Вы писали:

L>>Так, внесём ясность ,

L>>апплет рисует графики функций. Соответственно, если пользователь захочет сохранить себе картинку,
L>>то на диск я её записать не смогу, нужно скопировать в буфер (или нет?).
L>>Долго рисуется, напиример, график sin(x), x из [-500;500] с шагом 0,5 в радианах

L>если можно получить Image, можно не прорисовывать каждый раз логику.


Дык все просто. Каждый раз когда меняется функция или размер компаненты. Ты должен отрисовывать график в свой собственный буфер — Image. А вот этот Image ты должен отрисовывать на компаненту.

Тогда у тебя функция не будет каждый раз считатся при перерисовке компаненты.
Re[5]: На каком компоненте рисовать, чтобы..
От: Lunik Россия  
Дата: 09.12.05 17:18
Оценка:
Здравствуйте, Blazkowicz, Вы писали:

B>Здравствуйте, Lunik, Вы писали:


L>>>Так, внесём ясность :),

L>>>апплет рисует графики функций. Соответственно, если пользователь захочет сохранить себе картинку,
L>>>то на диск я её записать не смогу, нужно скопировать в буфер (или нет?).
L>>>Долго рисуется, напиример, график sin(x), x из [-500;500] с шагом 0,5 в радианах

L>>если можно получить Image, можно не прорисовывать каждый раз логику.


B>Дык все просто. Каждый раз когда меняется функция или размер компаненты. Ты должен отрисовывать график в свой собственный буфер — Image. А вот этот Image ты должен отрисовывать на компаненту.


B>Тогда у тебя функция не будет каждый раз считатся при перерисовке компаненты.


Точно, спасибо, не знал что у картинки можно взять Graphics,
а вот как копировать в буфер, я пока не нашёл.
---
Lunik
Re[6]: На каком компоненте рисовать, чтобы..
От: Blazkowicz Россия  
Дата: 12.12.05 12:24
Оценка:
Здравствуйте, Lunik, Вы писали:

L>а вот как копировать в буфер, я пока не нашёл.


Бросай оверквотить и начинай пользоватся гуглом:

http://www.google.com/search?hl=en&lr=&c2coff=1&q=Java+copy+image+to+clipboard

Инфы валом. Правда разобратся не так уж и просто.
Основная идея это перегнать картинку в какой-нибудь общеиспользуемый формат GIF/JPEG/BMP, засунуть байты в Clipboard и выставить правильный тип. Чтобы тот кто будет читать из буфера знал что там лежит.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.