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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 09.02.2012, 23:46   #1
casio23
Форумчанин
 
Аватар для casio23
 
Регистрация: 29.12.2010
Сообщений: 186
По умолчанию загрузка в Image JPEG-файл из ресурса

люди помогите переделать модуль загрузки из png в JPEG, png быстро грузит хотелось бы и jpeg быстро грузить
Код:
unit ImageOfRes;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, pngimage;

type
  TImageOfRes = class(TPersistent)
  protected
    FHandle: THandle;
  public
    constructor Create(const ResFile: string);
    destructor Destroy;
    procedure PushImage(var Image: TImage; const ImageName: string);
  end;
var
 pData: Pointer;

implementation

{ TImageOfRes }

constructor TImageOfRes.Create(const ResFile: string);
begin
  // Загрузка библиотеки
  FHandle := LoadLibrary(PWideChar(ResFile));

  pData := LockResource(FHandle);
  // В случае если библиотека не загрузилась
  if pData = nil then
    raise Exception.Create('Ошибка при загрузке библиотеки!');
end;

destructor TImageOfRes.Destroy;
begin
  FreeLibrary(FHandle);
end;


procedure TImageOfRes.PushImage(var Image: TImage; const ImageName: string);
var
  PngImage: TPngImage;
begin
  PngImage := TPngImage.Create;

  try
    PngImage.LoadFromResourceName(FHandle, ImageName);
    Image.Picture.Graphic := PngImage;
  finally
    PngImage.Free;
  end;

end;

end.
использование
kartinka RCDATA krt.png

Код:
 
var R: TImageOfRes;

begin
R := TImageOfRes.Create('Имя.ресурс');
R.PushImage(Image1, 'kartinka ');
end;

Последний раз редактировалось casio23; 09.02.2012 в 23:47. Причина: .
casio23 вне форума Ответить с цитированием
Старый 10.02.2012, 02:23   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Как бы 2 разных типа файлов. ОНИ РАЗНЫЕ как по расширению, так и по седержанию. png более качественно хранит изображение.

Ни как ты не ускоришь загрузку jpeg так же быстро как png.
Человек_Борща вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка ресурса в RichEdit Volkogriz Общие вопросы Delphi 3 05.06.2014 08:57
loadimage и загрузка изображение из ресурса fate Общие вопросы Delphi 11 10.08.2011 10:47
Как загрузить в TImage Jpeg image? beemoto Общие вопросы Delphi 2 15.11.2009 14:05
как без ошибки загрузить jpeg в image beemoto Мультимедиа в Delphi 23 15.05.2009 01:16
Image, загрузка JPEG Terran Мультимедиа в Delphi 4 19.12.2007 20:08