IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

 
 Ответить  Открыть новую тему 
> Изменить разрешение
сообщение
Сообщение #1


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


Как изменить разрешение картинки.Я использую TImage.


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Можно изменить масштабирование :

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 в примерах и задачах"


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Помощник капитана
****

Группа: Пользователи
Сообщений: 601
Пол: Мужской
Реальное имя: Артем

Репутация: -  2  +


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


--------------------
Dum spiro spero!
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Perl. Just code it!
******

Группа: Пользователи
Сообщений: 4 100
Пол: Мужской
Реальное имя: Андрей

Репутация: -  44  +


Цитата
например разрешние: 120 на 120.Я хочу изменить его но 176 на 220


Ну так и меня свойства Height и Width объекта Image1.Picture


--------------------
perl -e 'print for (map{chr(hex)}("4861707079204E6577205965617221"=~/(.{2})/g)), "\n";'
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 




- Текстовая версия 18.10.2017 3:18
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"