Главная страница
    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.47 MB
Время: 0.007 c
1-45355
stain
2002-10-05 23:53
2002.10.14
union в Delphi


3-45194
SaperXL
2002-09-21 22:04
2002.10.14
MEMO поля


14-45559
AL2002
2002-09-18 13:41
2002.10.14
У меня ZipMagic стоит


14-45507
diww
2002-09-18 11:06
2002.10.14
подскажите хороший форум по NT


1-45323
Alexander
2002-10-05 09:52
2002.10.14
В ImageList есть 2 битмапа с белым фоном, как мне в этот





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский