Модераторы: Snowy, Alexeis, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как рисовать на загруженном изображении? 
:(
    Опции темы
Kaktuss
Дата 15.6.2006, 15:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



Подскажите пожалуйста как рисовать на загруженном изображении(JPEG)? 
PM MAIL   Вверх
skyboy
Дата 15.6.2006, 16:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



наследники от Timage имеют Canvas - на нём и рисуй:
Код

JpegImage1.Canvas.Line(1,1,20,20);

типа такого. 
PM MAIL   Вверх
Snowy
Дата 15.6.2006, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Так нельзя.
Нужно создать новый TBitmap.
Сделать bmp.Assign(jpg);
где bmp - новый TBitMap, jpg - TJPEGImage с загруженной в него картинкой.
После этого уже можно рисовать на битмапе. 
PM MAIL   Вверх
skyboy
Дата 15.6.2006, 17:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



а потом возвращать обратно в jpeg? я так понимаю, это от того, что данные хранятся в памяти тоже в jpeg-виде и потому сразу как с растром работать не получается? 
PM MAIL   Вверх
Snowy
Дата 15.6.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Модератор
Сообщений: 11363
Регистрация: 13.10.2004
Где: Питер

Репутация: 18
Всего: 484



Цитата(skyboy @  15.6.2006,  17:01 Найти цитируемый пост)
а потом возвращать обратно в jpeg?
Если нужно обратно сохранять в JPEG, то да. jpg.Assign(bmp);

Цитата(skyboy @  15.6.2006,  17:01 Найти цитируемый пост)
я так понимаю, это от того, что данные хранятся в памяти тоже в jpeg-виде и потому сразу как с растром работать не получается? 
Именно.
Редактируется только Bitmap. А у остальных форматов данные лежат в Picture, а битмап пустой. 
PM MAIL   Вверх
Alexeis
Дата 15.6.2006, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 55
Всего: 459



И вправду skyboy, справка говорит
Цитата

he following are characteristics of this object. A TJPEGImage object:
Has no canvas (so it cannot draw onto a canvas). However, TJPEGImage implements the protected Draw method introduced in TGraphic, so it can draw itself on the canvas of another object.

Т.е. этот объект вообще не допускает ни каких изменений внутреннего изображения, кроме замены другим. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
Kaktuss
Дата 15.6.2006, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 15.6.2006

Репутация: нет
Всего: нет



А можно поподробней, как мне моё JPEG изображение перевести в Bitmap, а то я в Delphi ещё новичок!  
PM MAIL   Вверх
skyboy
Дата 15.6.2006, 18:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: нет
Всего: 260



Kaktuss, брось на форму Image. А перед рисованием сделай так:
Код

image.Assign(jpgimage);

а после редактирования:
Код

jpgimage.Assign(image);

как определять начало/конец редактирования, смотри сам. 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Звук, графика и видео"
Girder
Snowy
Alexeis

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делится вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • По вопросам разработки игр стоит заглянуть сюда

FAQ раздела лежит здесь!


Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Girder, Snowy.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Звук, графика и видео | Следующая тема »


 




[ Время генерации скрипта: 0.0560 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.