Главная страница
    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.034 c
1-1093859074
Uran
2004-08-30 13:44
2004.09.12
Подскажите оптимальный и надежный алторитм по криптованию строки


14-1093351767
Knight
2004-08-24 16:49
2004.09.12
Почтовый сервер на Win2k...


6-1089111155
fylhtq
2004-07-06 14:52
2004.09.12
Invalid pointer operation при пинге - в чем засада?


1-1093589612
dim-
2004-08-27 10:53
2004.09.12
Почему повторный вызов dll вызывает ошибку?


1-1093410600
wild_arg
2004-08-25 09:10
2004.09.12
сравнение по скорости





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский