Форум: "Основная";
Текущий архив: 2002.10.14;
Скачать: [xml.tar.bz2];
ВнизКак изменить размер картинки? Найти похожие ветки
← →
Ulyanov (2002-10-03 19:41) [0]Нужна процедура, которая откроет графический файл формата *.jpg, изменить размер картинки и сохранит его обратно!
← →
Song (2002-10-03 20:42) [1]В смысле как изменить? Добавить или растянуть/сжать?
← →
Ulyanov (2002-10-03 20:50) [2]Допустим есть у меня картинка размером 400 на 300 в формате *.jpg. Надо чтобы процедура открыла этот файл изменила размер картинки допустим на (300 на 200) и сохранила обратно изменённую картинку
← →
Jeer (2002-10-03 21:02) [3]2/3 <> 4/3
Это тебе надо ?
← →
Ulyanov (2002-10-03 21:13) [4]Мне просто нужен пример процедуры с помощью которой я могу изменить размер рисунка в формате *.jpg
← →
Jeer (2002-10-03 22:11) [5]Да не - все понятно.
Но если ты раздвигаешь два пикселя и между ними появляются 10 виртуальных (их же не было ?) - так как их сосчитать ?
Правильно - интерполяцией.
Запусти поиск - "билинейная интерполяция", ну и..
← →
Ulyanov (2002-10-03 23:13) [6]Да вы чё все, а?
Мне кто-нибудь на вопрос конкретно ответит или нет?
Всякую чушь пишите!
← →
Jeer (2002-10-03 23:34) [7]Иди и поучись, если советом понять не можешь.
Ах, хотелось очередной раз ^C - ^V.
Не со мной, после таких обертонов.
← →
Song (2002-10-04 09:40) [8]Надо переводить в TBitMap там с ней можно сделать всё что угодно. После того как поизвращаетесь, переведите в jpg обратно и сохраните.
← →
REA (2002-10-04 10:28) [9]Задача нетривиальна и потому никто не может точно ответить. Для растровой графики нет "стандартных" алгоритмов преобразования, а есть популярные. Преобразование (тем более jpg) происходит с потерей качества.
В общем случае алгоритм такой:
загрузить картинку
создать рабочий Bitmap
провести преобразование в него
превратить в jpg
сохранить
компоненты наверняка уже где то есть для подобных операций с картинками. ищи.
← →
Кулюкин Олег (2002-10-04 15:26) [10]Есть компонент TJpgResizer от компании Konkretno Otvet, бесплатный.
← →
AL2002 (2002-10-04 18:05) [11]>Кулюкин Олег © (04.10.02 15:26)
Платный.
← →
Rouse_ (2002-10-05 03:11) [12]procedure TForm1.Button1Click(Sender: TObject);
var b:TBitmap;
j:TJPegImage;
scale:Integer;
begin
if OpenPictureDialog1.Execute then begin
J:=TJpegImage.Create;
j.LoadFromFile(OpenPictureDialog1.FileName);
b:=TBitmap.Create;
b.Assign(j);
scale := 250 ;
b.Width := Round( scale );
b.Height:= Round( scale );
b.Canvas.StretchDraw( b.Canvas.Cliprect, j );
j.Assign( b );
j.SaveToFile(OpenPictureDialog1.FileName+".jpg");
b.Free;
j.Free;
end;
end;
Ну это грубый набросок, но принцип надеюсь понятен?
Желаю успехов
← →
int64 (2002-10-05 03:26) [13]Ulyanov
Вообще-то, формат *.jpg не для того, чтобы менять содержимое. Это конечный фрмат, для хранения.
Если ты его будешь постоянно открывать-модифицировать-сохранять, что можешь терять в качестве по сравнению с теми же операциями в битмапах.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2002.10.14;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c