Форум: "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