Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Anton от Декабрь 26, 2005, 22:11



Название: Требуется обработать картинку по пикселам
Отправлено: Anton от Декабрь 26, 2005, 22:11
Имеется ввиду, нужно иметь возможность изменить любой пиксел в картинке, отобразить на фроме. Как это лучше сделать?


Название: Требуется обработать картинку по пикселам
Отправлено: Steven_Orko от Декабрь 26, 2005, 22:52
посмотри примеры, поставляемые с Qt, а именно plugandpaint. Или Бланшета, глава 5 "Создание пользовательских виджетов", раздел "Создание подкласса QWidget" и далее по тексту


Название: Требуется обработать картинку по пикселам
Отправлено: Dendy от Декабрь 27, 2005, 10:39
Qt 4.1 юзає власний піксельний двигун Arthur. Вистачить QPainter'а або QImage.


Название: Требуется обработать картинку по пикселам
Отправлено: Anton от Декабрь 27, 2005, 10:48
можно поподробнее про Arthur?


Название: Требуется обработать картинку по пикселам
Отправлено: Dendy от Декабрь 27, 2005, 11:47
Артур базується на оптимізованому рендерінгу по пікселям. Тобто йому не потрібні системні функції блітінгу та конвертації QImage -> QPixmap. Іншими словами: Можна малювати на QImage (клас з прямим доступом до даних) як на буфер, а QImage на вікно.

Код:
void my_render()
{
  QPainter p( &image );
  p.drawPoint( ... );
  ...
}

void MyWidget::paintEvent( QPaintEvent * e )
{
  QPainter p( this );
  p.drawImage( 0, 0, image );
}