Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.09.12;
Скачать: CL | DM;

Вниз

Zoom в Image   Найти похожие ветки 

 
killer ©   (2004-06-21 13:58) [0]

Как сделать так чтобы при нажатии одной кнопки изображение увеличивалось в Image, а по нажатию другой уменьшалось?


 
Семен Сорокин ©   (2004-06-21 14:13) [1]

StretchBlt, StretchDIBits, Canvas.StretchDraw


 
killer ©   (2004-06-21 14:28) [2]

а что это StretchBlt и StretchDIBits? Попробовал Image.StretchBlt - нет такого... есть просто Stretch


 
killer ©   (2004-06-21 14:45) [3]

что это такое?


 
Семен Сорокин ©   (2004-06-21 15:07) [4]


> killer ©   (21.06.04 14:45) [3]
> что это такое?

ф-ции API для растягивания изображения.


 
Огромное Кулясище   (2004-06-21 15:35) [5]

unit mainUnit;

interface

uses
 Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
 ExtDlgs, StdCtrls, Spin, ExtCtrls;

type
 TmainForm = class(TForm)
   Image: TImage;
   panelTools: TPanel;
   btnOpenPic: TButton;
   SpinZoom: TSpinEdit;
   Label1: TLabel;
   OpenPictureDialog: TOpenPictureDialog;
   procedure btnOpenPicClick(Sender: TObject);
   procedure FormDestroy(Sender: TObject);
   procedure SpinZoomChange(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 mainForm: TmainForm;

var
 Pic: TPicture;

implementation

{$R *.DFM}

procedure TmainForm.btnOpenPicClick(Sender: TObject);
begin
 If OpenPictureDialog.Execute then
  begin
    If Pic <> nil then Pic.Free;
    Pic := TPicture.Create;
    Pic.LoadFromFile(OpenPictureDialog.FileName);
    Image.Width := Pic.Bitmap.Width;
    Image.Height := Pic.Bitmap.Height;
    Image.Picture.Bitmap.Width := Pic.Bitmap.Width;
    Image.Picture.Bitmap.Height := Pic.Bitmap.Height;
    Image.Canvas.StretchDraw(Rect(0, 0, Pic.Bitmap.Width, Pic.Bitmap.Height),
      Pic.Bitmap);
  end;
end;

procedure TmainForm.FormDestroy(Sender: TObject);
begin
 If Pic <> nil then Pic.Free;
end;

procedure TmainForm.SpinZoomChange(Sender: TObject);
var WNew, HNew: Integer;
begin
 If Pic <> nil then
  begin
   WNew := Pic.Bitmap.Width * SpinZoom.Value;
   HNew := Pic.Bitmap.Height * SpinZoom.Value;
   Image.Width := WNew;
   Image.Height := HNew;
   Image.Picture.Bitmap.Width := WNew;
   Image.Picture.Bitmap.Height := HNew;
   Image.Picture.Bitmap.Canvas.StretchDraw(Rect(0, 0, WNew, HNew),
     Pic.Bitmap);
  end;
end;


 
killer ©   (2004-06-24 15:13) [6]

это только с bmp файлами работает... я хотел переделать под все файлы... т.е. изменял Image.Picture.Width/Height но... пишет что этот параметр только для чтения... что делать??? Может компонент какой есть?


 
Огромное Кулясище   (2004-06-24 17:23) [7]

Вот рабочий пример:
http://www.hot.ee/mvpselite/ZoomEx.rar



Страницы: 1 вся ветка

Текущий архив: 2004.09.12;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.046 c
1-1093511861
mao04
2004-08-26 13:17
2004.09.12
Как пронумеровать страницы в MSWord?


1-1093386476
3APA3A
2004-08-25 02:27
2004.09.12
2 дополнительных потока при использовании TActionManager


1-1093509981
sashuly
2004-08-26 12:46
2004.09.12
работа со строками


3-1092839711
Uran
2004-08-18 18:35
2004.09.12
Проблеммы с кодировкой в файле DB


1-1092582610
Nikk
2004-08-15 19:10
2004.09.12
Delphi 8 - как скрыть форму?