Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: borik120 от Ноябрь 07, 2010, 13:24



Название: QImage в файл
Отправлено: borik120 от Ноябрь 07, 2010, 13:24
Здравствуйте! наверняка ответ на мой вопрос уже есть где то на форуме, но все же не нашел.
Мне ужно создать обьект QImage нарисовать на нем несколько линий  и сохранить его в формате jpg. нигде отображать его не нужно. извиняюсь за ламерский вопрос.


Название: Re: QImage в файл
Отправлено: SASA от Ноябрь 07, 2010, 13:40
QImage::save


Название: Re: QImage в файл
Отправлено: marbius от Ноябрь 07, 2010, 13:47
Код
C++ (Qt)
   QImage *img=new QImage(100,100,QImage::Format_RGB32);
   QPainter *p=new QPainter(img);
   p->fillRect(QRect(0,0,100,100),QBrush(Qt::white,Qt::SolidPattern));
   p->drawLine(0,0,100,100);
   img->save("c:\\1.jpg","JPG");
   delete p;
   delete img;
 

как-то так?


Название: Re: QImage в файл
Отправлено: Авварон от Ноябрь 07, 2010, 14:45
только без указателей
и еще p.end() нужно наверно


Название: Re: QImage в файл
Отправлено: marbius от Ноябрь 07, 2010, 14:50
вопрос в плане повышения общеобразовательного уровня

только без указателей

А чем плохо применение указателей?

и еще p.end() нужно наверно
я бы написал p.end(), если бы не использовал указатели



Название: Re: QImage в файл
Отправлено: Пантер от Ноябрь 07, 2010, 14:59
А какой смысл тут в указателях? На стеке быстрее все создается.


Название: Re: QImage в файл
Отправлено: Авварон от Ноябрь 07, 2010, 15:02
end() в любом случае нужен. Или сэйв надо делать ПОСЛЕ деструктора пейнтера. В момент сэйва, как у вас, еще может быть ничего не нарисовано.


Название: Re: QImage в файл
Отправлено: marbius от Ноябрь 07, 2010, 16:33
Хотя и не относится напрямую к топику, но спасибо за разъяснения про указатели.

end() в любом случае нужен. Или сэйв надо делать ПОСЛЕ деструктора пейнтера. В момент сэйва, как у вас, еще может быть ничего не нарисовано.
Да, погорячился я про end()