Russian Qt Forum
Май 04, 2024, 04:12 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QImage в файл  (Прочитано 10632 раз)
borik120
Гость
« : Ноябрь 07, 2010, 13:24 »

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

QImage::save
Записан
marbius
Гость
« Ответ #2 : Ноябрь 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;
 

как-то так?
Записан
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #3 : Ноябрь 07, 2010, 14:45 »

только без указателей
и еще p.end() нужно наверно
« Последнее редактирование: Ноябрь 07, 2010, 14:46 от Авварон » Записан
marbius
Гость
« Ответ #4 : Ноябрь 07, 2010, 14:50 »

вопрос в плане повышения общеобразовательного уровня

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

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

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

Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #5 : Ноябрь 07, 2010, 14:59 »

А какой смысл тут в указателях? На стеке быстрее все создается.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
Авварон
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3258


Просмотр профиля
« Ответ #6 : Ноябрь 07, 2010, 15:02 »

end() в любом случае нужен. Или сэйв надо делать ПОСЛЕ деструктора пейнтера. В момент сэйва, как у вас, еще может быть ничего не нарисовано.
Записан
marbius
Гость
« Ответ #7 : Ноябрь 07, 2010, 16:33 »

Хотя и не относится напрямую к топику, но спасибо за разъяснения про указатели.

end() в любом случае нужен. Или сэйв надо делать ПОСЛЕ деструктора пейнтера. В момент сэйва, как у вас, еще может быть ничего не нарисовано.
Да, погорячился я про end()
« Последнее редактирование: Ноябрь 07, 2010, 16:40 от µarbius » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.074 секунд. Запросов: 23.