Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.07.2019, 08:03   #1
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
Счастье Image. Zoom изображения

Здравствуйте!
Подскажите пожалуйста, как сделать чтоб при нажатии на одну кнопку картинка увеличивалась, а на другую - уменьшалась, сохраняя пропорции?
Женя32 вне форума Ответить с цитированием
Старый 07.07.2019, 12:22   #2
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

Подскажите пожалуйста, почему при нажатии на кнопки картинка исчезает?:
Код:
unit Unit1;
 
interface
 
uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, ieview, imageenview, imageen,
  Vcl.StdCtrls, Vcl.ExtCtrls;
 
type
  TForm1 = class(TForm)
    Image1: TImage;
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure ResizeImage;
  private
    { Private declarations }
      ImgScale : Double; // default 1.0 - set in OnCreate
      ImgSize : TPoint; // Width and Height of original image, set when load image
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
begin
  ImgScale := ImgScale * 2;
  ResizeImage;
end;
 
procedure TForm1.Button2Click(Sender: TObject);
begin
  ImgScale := ImgScale / 2;
  ResizeImage;
end;
 
procedure TForm1.ResizeImage;
begin
  Image1.Width := Round(ImgSize.x*ImgScale);
  Image1.Height := Round(ImgSize.y*ImgScale);
end;
 
end.
Женя32 вне форума Ответить с цитированием
Старый 07.07.2019, 20:13   #3
Black Fregat
Программист
Участник клуба
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,772
По умолчанию

Цитата:
Сообщение от Женя32 Посмотреть сообщение
Код:
ImgScale : Double; // default 1.0 - set in OnCreate
Написано прямо в комментариях: начальное значение 1.0 нужно установить при создании формы. Двойной клик на пустом месте формы - и вбивайте

Кстати, ImgSize тоже надо задать, но уже при загрузке картинки. Или картинка жёстко зашита? Тогда тоже при создании формы.

Последний раз редактировалось Black Fregat; 07.07.2019 в 20:16.
Black Fregat вне форума Ответить с цитированием
Старый 11.07.2019, 17:25   #4
Женя32
Форумчанин
 
Регистрация: 12.09.2008
Сообщений: 621
По умолчанию

С этим вопросом разобрался.
Другой вопрос возник:
Как сохранять, при resiz Bitmap, выведенный текст на canvas?
Женя32 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поворот изображения в Image compdoktor C++ Builder 3 23.07.2014 21:24
Отображение изображения в Image WPF Sashka_BezDelnik WPF, UWP, WinRT, XAML 0 31.01.2013 19:55
Поворот изображения в Image belanas Мультимедиа в Delphi 0 06.12.2011 21:22
Большие изображения в Image Jene4ka Помощь студентам 7 16.03.2010 13:12
Сохранение изображения с Image brutos Мультимедиа в Delphi 7 19.05.2009 12:26