Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 03.08.2009, 15:01   #11
Gerzs
Форумчанин
 
Аватар для Gerzs
 
Регистрация: 23.07.2009
Сообщений: 185
По умолчанию

inndim, Еще раз спасибо! Хорошо что у меня D2009.
Gerzs вне форума Ответить с цитированием
Старый 03.08.2009, 18:00   #12
silverworld
Заблокирован
 
Регистрация: 01.08.2009
Сообщений: 8
По умолчанию Загрузка картинки в BitMap

Раньше я думал иначе, спасибо за помощь в этом вопросе.
silverworld вне форума Ответить с цитированием
Старый 05.08.2009, 18:20   #13
Gerzs
Форумчанин
 
Аватар для Gerzs
 
Регистрация: 23.07.2009
Сообщений: 185
По умолчанию

Добрый день.
Подскажите, пожалуйста, как это же проделать только загрузить надо картинку из TImage и формата jpg.
Gerzs вне форума Ответить с цитированием
Старый 05.08.2009, 19:39   #14
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

из TImage?
или в TImage?

если второе то:
Код:
procedure TForm4.FormShow(Sender: TObject);
var
JPEG: TJPEGImage;
begin
    JPEG := TJPEGImage.Create;
    JPEG.LoadFromFile('6790_Surge_main.jpg');
    Image1.Picture.Bitmap.Assign(JPEG);
    JPEG.Free;
end;
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 06.08.2009, 08:44   #15
Gerzs
Форумчанин
 
Аватар для Gerzs
 
Регистрация: 23.07.2009
Сообщений: 185
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
из TImage?
или в TImage?

если второе то:
Код:
procedure TForm4.FormShow(Sender: TObject);
var
JPEG: TJPEGImage;
begin
    JPEG := TJPEGImage.Create;
    JPEG.LoadFromFile('6790_Surge_main.jpg');
    Image1.Picture.Bitmap.Assign(JPEG);
    JPEG.Free;
end;
Практически так и есть - из TImage в TImage, только в процессе я еще изображение корректирую.
Gerzs вне форума Ответить с цитированием
Старый 06.08.2009, 12:36   #16
Gerzs
Форумчанин
 
Аватар для Gerzs
 
Регистрация: 23.07.2009
Сообщений: 185
По умолчанию

Наверное я непонятно объяснил задачу.
Нужно кодифицировать код:
Код:
procedure TForm4.FormShow(Sender: TObject); 
var 
JPEG: TJPEGImage; 
begin 
JPEG := TJPEGImage.Create; 
JPEG.LoadFromFile('6790_Surge_main.jpg'); 
Image1.Picture.Bitmap.Assign(JPEG); 
JPEG.Free; 
end;
так чтоб
1. Вместо TJPEGImage использовался универсальный класс в который можно было б загрузить jng, png, gif, bmp
2. Загрузка изображения в этот объект должна проводится из Image1
Gerzs вне форума Ответить с цитированием
Старый 06.08.2009, 13:39   #17
mutabor
Телепат с дипломом
Старожил
 
Аватар для mutabor
 
Регистрация: 10.06.2007
Сообщений: 4,929
По умолчанию

Есть универсальный класс, то ли TGraphic то ли TPicture, а у него в свою очередь есть вложенные TBitmap, TIcon и т.д. Т.е. вы в любом случае грузите не в оболочку а во вложенные классы.
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог
mutabor вне форума Ответить с цитированием
Старый 06.08.2009, 13:51   #18
BOBAH13
Android Developer
Старожил Подтвердите свой е-майл
 
Аватар для BOBAH13
 
Регистрация: 19.02.2007
Сообщений: 3,708
По умолчанию

Цитата:
Сообщение от Gerzs Посмотреть сообщение
Наверное я непонятно объяснил задачу.
Нужно кодифицировать код:
Код:
procedure TForm4.FormShow(Sender: TObject); 
var 
JPEG: TJPEGImage; 
begin 
JPEG := TJPEGImage.Create; 
JPEG.LoadFromFile('6790_Surge_main.jpg'); 
Image1.Picture.Bitmap.Assign(JPEG); 
JPEG.Free; 
end;
так чтоб
1. Вместо TJPEGImage использовался универсальный класс в который можно было б загрузить jng, png, gif, bmp
2. Загрузка изображения в этот объект должна проводится из Image1
1. Смотрим в сети заголовки каждого из форматов.
2. Пишем свой класс в котором описываем каждый класс/дочерний для каждого из форматов (таких классов в сети море)
3. В вашем родительском классе пишем типа LoadFromFile(const FileName: String); и в этой процедуре открываем файл как бинарный и читаем по порядку каждый из заголовкой (определенного размера), таким образом определяем какой это формат файл, если найден определенный заголовок закрываем файл и грузим для дочернего класс из файла (например определили png, значит дочерний класс для работы с Png грузит этот файл).
4. желательно, чтобы не париться, все свести к TBitmap, например загрулии Png, все в TBitmap его Assign или HDC скопировать через BitBlt. Таким образом будь то формат gif или png или jpeg всеравно окажется на вашем TBitmap (таким образом 2й пункт можно будет убрать, пожеланию).
BOBAH13 вне форума Ответить с цитированием
Старый 04.10.2010, 19:45   #19
buld3r
Новичок
Джуниор
 
Регистрация: 04.10.2010
Сообщений: 2
По умолчанию

Очень интересный вопрос, а как делать это все динамически. Допустим, я хочу менять картинки, при нажатии на клавишу. Мне кстати, все рассмотренные материалы, тоже очень помогли. Всем большое спасибо.
buld3r вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка BitMap из DLL Македонский Мультимедиа в Delphi 2 02.06.2009 17:28
случайная загрузка картинки veter_s_morya PHP 6 01.03.2009 19:50
Размер Image изменяется на размер картинки, а сама она рисуется на области первой картинки RPGer Мультимедиа в Delphi 6 20.10.2008 19:54
загрузка картинки в матрицу Apophis Общие вопросы Delphi 6 29.11.2007 18:57
Загрузка картинки на форму CoDeR Работа с сетью в Delphi 5 27.07.2007 23:11