Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Media";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "Media";
Текущий архив: 2004.09.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.054 c
14-1093117892
DeadMeat
2004-08-21 23:51
2004.09.12
Инсталлер для компонентов


1-1093626070
Lord de Mon
2004-08-27 21:01
2004.09.12
Как после клика на пункте меню открыть определённую страницу в бр


1-1093508174
DimonNew
2004-08-26 12:16
2004.09.12
Путь, откуда был вызван exe


1-1093337105
LordBTR
2004-08-24 12:45
2004.09.12
Как отловить одновременное нажатие в проге клавиш Ctrl+Alt+S


14-1092738529
saNat
2004-08-17 14:28
2004.09.12
Программирование COM порта





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский