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

Вниз

Как изменить размер картинки?   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.012 c
1-45298
VIB
2002-10-04 17:03
2002.10.14
Перезагрузка Win2000 Server


1-45290
123000
2002-10-04 15:24
2002.10.14
Компоненты


3-45208
big_bugzy
2002-09-23 14:23
2002.10.14
Помогите разобраться с редактированием/добавлением


14-45588
хамло
2002-09-20 11:46
2002.10.14
А какая она, профессиональная болезнь программистов?


1-45246
Xmen
2002-10-03 16:42
2002.10.14
Уважаемые знатоки. Нужна ваша помощ...