Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Вниз

Конвертация 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 вся ветка

Форум: "Media";
Текущий архив: 2007.03.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.114 c
2-1172768707
FIL-23
2007-03-01 20:05
2007.03.25
какя есть функция чтобы свернуть форму?


15-1172586264
jack128
2007-02-27 17:24
2007.03.25
ImageEditor из D2006


2-1172755475
Fav
2007-03-01 16:24
2007.03.25
Задачка


3-1167388919
reb00ter
2006-12-29 13:41
2007.03.25
Обработка потери соединения с сервером


15-1172678879
Calibr
2007-02-28 19:07
2007.03.25
WinRAR парольчик





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский