Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.03.25;
Скачать: CL | DM;

Вниз

Конвертация BMP в JPG...   Найти похожие ветки 

 
Max.66RUS ©   (2006-07-25 23:20) [0]

Дайте пожалуйста кто-нибудь исходник простейшей процедуры конвертации .BMP файла в .JPG файл. Заранее спасибо.


 
Handle   (2006-07-26 09:48) [1]

uses
  Jpeg;

var
 jpgImg: TJPEGImage;
begin
 if OpenDialog1.Execute = true then
 Image1.Picture.Bitmap.LoadFromFile(OpenDialog1.FileName);
 jpgImg := TJPEGImage.Create;
 jpgImg.SaveToFile(OpenDialog1.FileName + ".jpg");


 
Handle   (2006-07-26 09:51) [2]

То есть вот так я хотел сказать

uses
 Jpeg;

var
jpgImg: TJPEGImage;
begin
if OpenDialog1.Execute = true then
Image1.Picture.Bitmap.LoadFromFile(OpenDialog1.FileName);
jpgImg := TJPEGImage.Create;
jpgImg.Assign(Image1.Picture.Bitmap);
jpgImg.SaveToFile(OpenDialog1.FileName + ".jpg");


 
@!!ex ©   (2006-07-26 09:53) [3]

А зачем Image?
Не проще ли и дешевле грузить в TBitMap?


 
Max.66RUS ©   (2006-07-26 11:09) [4]

Большое спасибо. Всё работает. А можно ещё вопрос: Как в эту процедуру добавить параметр отвечающий за качество получаемого изображения? Мне нужно чтобы .JPG файл получался самого худшего качества...


 
Handle   (2006-07-26 12:07) [5]


> @!!ex ©   (26.07.06 09:53) [3]


Вы правы незачем

procedure TForm1.Button1Click(Sender: TObject);
var
 JpegIm:   TJpegImage;
 BmpImage: TBitMap;
begin
 if OpenDialog1.Execute = true then
 BmpImage:= TBitmap.Create;
 BmpImage.LoadFromFile(OpenDialog1.FileName);
 JpegIm := TJPEGImage.Create;
 JpegIm.Assign(BmpImage);
 JpegIm.CompressionQuality := 10;
 { например у меня при значении 10 размер фотки = 32KB при значении 90 размер = 250 KB
 всё конечно зависит от первоночального размера изображения}
 JpegIm.Compress;
 JpegIm.SaveToFile(OpenDialog1.FileName + ".jpg");
 BmpImage.Destroy;
 JpegIm.Destroy;
end;


 
Handle   (2006-07-26 12:09) [6]

TJPEGQualityRange = 1..100


 
antonn ©   (2006-07-26 12:25) [7]


> if OpenDialog1.Execute = true then

мдя...


 
Handle   (2006-07-26 12:33) [8]


> мдя...

А поподробней если можно


 
Sapersky   (2006-07-26 12:48) [9]

begin/end забыл. Без него по условию будет выполняться только строчка BmpImage:= TBitmap.Create;
И в условии не обязательно сравнивать с True/False, можно короче:
if OpenDialog1.Execute then ...


 
BadTester   (2006-07-26 12:49) [10]

uses  Jpeg;

 public
   { Public declarations }
   JPEG         :   TJPEGImage;
   Bitmap       :   TBitmap;
   JPEGWidth    :   Integer;
   JPEGHeight   :   Integer;
 end;

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
if SaveDialog1.Execute then
begin
     if Form1.RadioButton1.Checked then
     begin
        JPEG   := TJPEGImage.Create;
        Bitmap := TBitmap.Create;
        try
           JPEG.Assign(Image1.Picture.Bitmap);
           Image1.Picture.Assign(JPEG);

        finally
           JPEG.Free;
           Bitmap.Free;
        end;
           Image1.Picture.SaveToFile(SaveDialog1.FileName + ".jpeg")
     end
     else
     begin
           Image1.Picture.SaveToFile(SaveDialog1.FileName + ".bmp");
     end;
 
     Close;
  end;
end;


 
Handle   (2006-07-26 13:10) [11]


> Sapersky   (26.07.06 12:48) [9]
> begin/end забыл. Без него по условию будет выполняться только
> строчка BmpImage:= TBitmap.Create;


Интересно почему у меня выполняется, я знаю наверно у меня Delphi круче.


>  BadTester   (26.07.06 12:49) [10]


Вы забыли написать про применение фильтров и изменение контрастности.

Ma
> x.66RUS ©   (26.07.06 11:09) [4]
> Как в эту процедуру добавить параметр отвечающий за качество
> получаемого изображения? Мне нужно чтобы .JPG файл получался
> самого худшего качества...


 
Плохиш ©   (2006-07-26 13:14) [12]


> Handle   (26.07.06 13:10) [11]
>
> > Sapersky   (26.07.06 12:48) [9]
> > begin/end забыл. Без него по условию будет выполняться
> только
> > строчка BmpImage:= TBitmap.Create;
>
>
> Интересно почему у меня выполняется, я знаю наверно у меня
> Delphi круче

Попробуйте нажать в опен-диалоге кнопку отменить.


 
Handle   (2006-07-26 13:18) [13]


> Плохиш ©   (26.07.06 13:14) [12]


Вы правы я немного погорячился и приношу свои извенения.


 
Handle   (2006-07-26 13:24) [14]


> Sapersky   (26.07.06 12:48) [9]


Вы правы я немного погорячился и приношу свои извенения.



Страницы: 1 вся ветка

Текущий архив: 2007.03.25;
Скачать: CL | DM;

Наверх




Память: 0.5 MB
Время: 0.034 c
11-1142828301
Kealon
2006-03-20 07:18
2007.03.25
KeyPreview


6-1160311568
Falcao
2006-10-08 16:46
2007.03.25
Отследить событие RAS-соединения


15-1172737610
Ega23
2007-03-01 11:26
2007.03.25
Не ставятся breakpoint-ы в проекте....


15-1172866869
alpha5
2007-03-02 23:21
2007.03.25
Стили приложения


2-1172987136
Roman_S
2007-03-04 08:45
2007.03.25
Помогите правильно написать цикл перебора алфавита