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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.05.2011, 15:30   #1
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию "Живой" перевод jpeg в bmp

Здравствуйте, так через OpenPictureDialog открываю файл
Код:
if OpenPictureDialog1.Execute then
  Loading:=OpenPictureDialog1.FileName;
  pic := TBitMap.Create;
Newgame;
pic типа TBitMap. Как можно сделать "живой" перевод jpeg в bmp, а потом подгружать ее в pic? То есть я в диалоге выбираю jpeg, программа переводит его в bmp, грузит в переменную, и дальше работа над файлом идет по типу bmp.
P.S Извиняюсь за некорректную формулировка вопроса.
P.S.S Поиск по форуму ничего не дал
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 26.05.2011, 15:49   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Код:
if OD.Execute then
 begin
  pic:=TBitmap.Create();
  if ExtractFileExt(OD.FileName)='jpg' then //или тут с точкой надо, не помню
   begin
    jpeg:=TJPEGImage.Create();
    jpeg.LoadFromFile(OD.FileName);
    pic.Assign(jpeg);
    Jpeg.Free():
   end
  else pic.LoadFromFile(OD.FileName);
 end;
надеюсь все понятно.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.05.2011, 16:12   #3
ZvEr_HaCkEr
VisualC++/DirectX
Форумчанин
 
Аватар для ZvEr_HaCkEr
 
Регистрация: 16.07.2010
Сообщений: 831
По умолчанию

Все понятно, но код не работает. Какие еще есть идеи?
Код:
procedure TForm1.openpicture1Click(Sender: TObject);
begin
if OpenPictureDialog1.Execute then
 begin
  pic:=TBitmap.Create();
  Loading:=OpenPictureDialog1.FileName;
Prew:=Loading;
Caption:=ExtractFileName(Loading);
  if ExtractFileExt(OpenPictureDialog1.FileName)='.jpg' then 
   begin
    jpeg:=TJPEGImage.Create();
    jpeg.LoadFromFile(OpenPictureDialog1.FileName);
    pic.Assign(jpeg);
    Jpeg.Free();
   end
  else Loading:=OpenPictureDialog1.FileName;
  Newgame;
 end;
end;
Ошибка
Цитата:
Bitmap image is not valid.

Последний раз редактировалось ZvEr_HaCkEr; 26.05.2011 в 16:18.
ZvEr_HaCkEr вне форума Ответить с цитированием
Старый 27.05.2011, 08:16   #4
SERG1980
Участник клуба
 
Аватар для SERG1980
 
Регистрация: 28.03.2007
Сообщений: 1,814
По умолчанию

Код:
procedure TForm1.Button1Click(Sender: TObject);
var BMP:TBitMap;
    JPG:TJpegImage;
begin
 if form1.OpenPictureDialog1.Execute then
  begin
   BMP:=TBitMap.Create;
   JPG:=TJpegImage.Create;
   if (ExtractFileExt(form1.OpenPictureDialog1.FileName)='.jpg') or
    (ExtractFileExt(form1.OpenPictureDialog1.FileName)='.jpeg') then
     begin
      JPG.LoadFromFile(form1.OpenPictureDialog1.FileName);
      BMP.Assign(JPG);
      //для наглядности отобразим на имидже
      Image1.Picture.Assign(BMP);
      FreeAndNil(BMP);
      FreeAndNil(JPG);
     end;
  end;
end;
и ещё расширение может быть и заглавными буквами (JPG) тогда может лучше использовать ф-ии преобразования заглавных в прописные

Последний раз редактировалось SERG1980; 27.05.2011 в 08:23.
SERG1980 вне форума Ответить с цитированием
Старый 27.05.2011, 11:33   #5
x128
Форумчанин
 
Регистрация: 03.02.2010
Сообщений: 178
По умолчанию

Код:
  if OpenPictureDialog1.Execute then begin
    with TPicture.Create do begin
      LoadFromFile(OpenPictureDialog1.FileName);
      pic:=TBitmap.Create;
      pic.Assign(Graphic);
      Free;
    end;
  end;
x128 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение картинки в C++ в формате jpeg, используя "путь" записанный в базе данных типа Access Gared Помощь студентам 0 15.05.2011 17:29
Перевод "пространственных" координат в "экранные" , смена перспективы , вращение. vedro-compota Общие вопросы Delphi 6 08.06.2010 21:59
при вводе на листе "магазин"- код товара появлялось "описание" товара из "склада" с "продажной ценой" aleksei78 Microsoft Office Excel 13 25.08.2009 12:04
Получение "скрытой" информации из bmp Alex Cones Мультимедиа в Delphi 6 11.06.2009 11:07