Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

Подскажите пожалуйста, почему при нажатии на кнопки картинка исчезает?:
Код:
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, 21:13   #3
Black Fregat
Программист
Профессионал
 
Аватар для Black Fregat
 
Регистрация: 23.06.2009
Сообщений: 1,377
Репутация: 956
По умолчанию

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

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

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

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поворот изображения в 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 14:12
Сохранение изображения с Image brutos Мультимедиа в Delphi 7 19.05.2009 12:26


11:05.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru