Zoom en delphi 6 e interbase

Alguien me puede decir:
-Que control debo usar para aplicar un zoom a una imagen en un TImage, de esos que aparece una lupa para agrandarlo o hacerlo pequeño, claro el componente de ser posible freeware.
- Mi otro punto es como reestringir usuarios para que una tabla solo puedan leer o escribir, tenia entendido que era en un archivo de texto (que no se como se llame) y a partir de ahí, usando interbase y una tabla se podía hacer, pero no recuerdo como.
Solicito ayuda, por favor, y de antemano gracias.

1 Respuesta

Respuesta
1
Compañero Kaztanov:
He aquí el código para realizar un xooming básico de una imagen, simpelemtne crea una nueva aplicación en Delphi, ponle 2 botones (BuZoomIn y ButoZoomOut, y una timage, llámala image1 y cárgale la imagen que quieras poniéndole la propiedad stretch := true. Revisa este código y lijto, te hace el zoom in (agrandar) y zoomout (achicar) de la imagen1.
Mira, hay soluciones más complejas y óptimas para que la imagen no pierda calidad, dado que este zoom se hace con el algorítomos StretchDraw del API de WIN32, hay algoritmos más desarrollados dentro del procesamiento de imágenes que puedes implementar también. Si es este el caso no dudes en enviar tu pregunta al respecto.
Saludos desde Bolivia.
unit Unit1;
Interface
Uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls;
type
TForm1 = class(TForm)
Panel1: TPanel;
BuZoomIn: TButton;
BuZoomOut: TButton;
Image1: TImage;
procedure BuZoomInClick(Sender: TObject);
procedure BuZoomOutClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BuZoomInClick(Sender: TObject);
begin
image1.Width := image1.Width*2;
image1.Height := image1.Height*2;
image1.Refresh;
end;
procedure TForm1.BuZoomOutClick(Sender: TObject);
begin
if ((image1.Width>10) or (image1.Height>10)) then
begin
image1.Width := image1.Width div 2;
image1.Height := image1.Height div 2;
image1.Refresh;
end;
end;
end.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas