crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

 
Ответить в данную темуНачать новую тему
> Получить кусок QPixmap в другой QPixmap.
Гость_Tigr_*
сообщение 5.11.2010, 11:34
Сообщение #1





Гости








    


Имеется рисунок в QPixmap. Задача: получить произвольную кусок в другой QPixmap.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
BRE
  опции профиля:
сообщение 5.11.2010, 11:42
Сообщение #2


Профессионал
*****

Группа: Участник
Сообщений: 1112
Регистрация: 6.3.2009
Из: Ростов-на-Дону
Пользователь №: 591

Спасибо сказали: 264 раз(а)




Репутация:   44  


Цитата(Tigr @ 5.11.2010, 11:34) *
Имеется рисунок в QPixmap. Задача: получить произвольную кусок в другой QPixmap.

Есть много способов.
Можно через QPainter, но самый простой наверно:
QPixmap QPixmap::copy ( const QRect & rectangle = QRect() ) const
QPixmap QPixmap::copy ( int x, int y, int width, int height ) const
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Tigr_*
сообщение 5.11.2010, 12:07
Сообщение #3





Гости








    


Цитата(BRE @ 5.11.2010, 11:42) *
Есть много способов.
Можно через QPainter, но самый простой наверно:
QPixmap QPixmap::copy ( const QRect & rectangle = QRect() ) const
QPixmap QPixmap::copy ( int x, int y, int width, int height ) const


Прога вылетает. Может где-то накосячил?
CODE

QPixmap* pieceImage=new QPixmap;
QPixmap* pieceImage2=new QPixmap;

pieceImage2->loadFromData(file_list);
pieceImage=&pieceImage2->copy(0,0,128,128);
QGraphicsPixmapItem* item = map_panel1->scene()->addPixmap(*pieceImage);

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 5.11.2010, 12:12
Сообщение #4


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Гость_Tigr_* @ 5.11.2010, 15:07) *
Может где-то накосячил?
Зачем ты динамические объекты используешь? Ты же видишь, что код от этого только усложняется.

Цитата(Гость_Tigr_* @ 5.11.2010, 15:07) *
&pieceImage2->copy(0,0,128,128)
здесь ты абсолютно уверен в приоритете операторов?

такой код и читается лучше и пишется проще
QPixmap pieceImage;
QPixmap pieceImage2;

pieceImage2.loadFromData(file_list);
pieceImage=pieceImage2.copy(0,0,128,128);
QGraphicsPixmapItem* item = map_panel1->scene()->addPixmap(pieceImage);

Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Tigr_*
сообщение 5.11.2010, 12:21
Сообщение #5





Гости








    


Цитата(Litkevich Yuriy @ 5.11.2010, 12:12) *
Зачем ты динамические объекты используешь? Ты же видишь, что код от этого только усложняется.

Переменная QPixmap pieceImage; при выходе из процедуры освобождается.
Без QPixmap* pieceImage=new QPixmap; в моем случае, по другому не рисует.



Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Гость_Tigr_*
сообщение 5.11.2010, 12:25
Сообщение #6





Гости








    


Прошу прощение...
Заработало!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.4.2024, 15:00