Помощь - Поиск - Пользователи - Календарь
Полная версия: Изменить разрешение
Форум «Всё о Паскале» > Современный Паскаль и другие языки > Делфи
Артемий
Как изменить разрешение картинки.Я использую TImage.
klem4
Можно изменить масштабирование :

Image1.Height := Image1.Picture.Height * scale;
Image1.Width := Image1.Picture.Width * scale;
// где scale - масштаб



Вот смотри :

  Image1.AutoSize := False;
Image1.Stretch := True; // разрешим масштабирование

// запомним первоначальный размер области вывода иллюстрации
iw := Image1.Width;
ih := image1.Height;



// изменение размера области вывода иллюстрации пропорционально
// размеру иллюстрации
Procedure Tform1.ScaleImage;
var
pw, ph : integer; // размер иллюстрации
scaleX, scaleY : real; // масштаб по X и Y
scale : real; // масштаб
begin
// иллюстрация уже загружена
// получим ее размеры
pw := Image1.Picture.Width;
ph := Image1.Picture.Height;
if pw > iw // ширина иллюстрации больше ширины компонента Image
then scaleX := iw/pw // нужно масштабировать
else scaleX := 1;
if ph > ih // высота иллюстр. больше высоты компонента
then scaleY := ih/ph // нужно масштабировать
else scaleY := 1;

// выберем наименьший коэффициент
if scaleX < scaleY
then scale := scaleX
else scale := scaleY;

// изменим размер области вывода иллюстрации
Image1.Height := Round(Image1.Picture.Height*scale);
Image1.Width := Round(Image1.Picture.Width*scale);
// так как Strech = True и размер области пропорционален
// размеру картинки, то картинка масштабируется без искажений
end;


Из книги Никиты Култина "Delphi в примерах и задачах"
Артемий
Не мне надо чтобы изменялось разрешение и сохранялось.ТОЛЬКО мне надо это так - например разрешние: 120 на 120.Я хочу изменить его но 176 на 220, а не на 176 на 176 как это делается стандартно!
klem4
Цитата
например разрешние: 120 на 120.Я хочу изменить его но 176 на 220


Ну так и меня свойства Height и Width объекта Image1.Picture
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.