Hola, tengo un paquete llamado Package1,añadido a él los archivos:
ImgProcesado.as,ProeffectImage.pas,ImgZoom.pas.
ImgProcesado.pas tiene el sig código:
Código Delphi
[-]
unit ImgProcesado;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
ExtCtrls, ImageZoom, ProEffectImage;
type
TImgProcesado = class(TImage)
private
FZoom: TImageZoom;
FProcesado:TProEffectImage;
FValor_zoom: integer;
FValor_contraste: integer;
FValor_brillo: integer;
FValor_oscuridad: integer;
FValor_saturacion: integer;
FValor_mosaico: integer;
public
procedure CargarFoto(foto: string);
procedure SalvarFoto(foto: string);
procedure CambiarZoom(n: integer);
procedure CambiarInvertir;
procedure CambiarAlias;
procedure CambiarContraste(n:integer);
procedure CambiarGrises;
procedure CambiarBrillo(n:integer);
procedure CambiarOscuridad(n:integer);
procedure CambiarSaturacion(n: integer);
procedure CambiarMosaico(n: integer);
published
property Zoom: integer read FValor_zoom write CambiarZoom;
property Contraste: integer read FValor_contraste write CambiarContraste;
property Brillo: integer read FValor_brillo write CambiarBrillo;
property Oscuridad: integer read FValor_oscuridad write CambiarOscuridad;
property Saturacion: integer read FValor_saturacion write CambiarSaturacion;
property Mosaico: integer read FValor_mosaico write CambiarMosaico;
end;
procedure Register;
implementation
procedure Register;
begin
RegisterComponents('Samples', [TImgProcesado]);
end;
procedure TImgProcesado.CargarFoto(foto: string);
begin
Self.Picture.LoadFromFile(foto);
end;
procedure TImgProcesado.SalvarFoto(foto: string);
begin
Self.Picture.SaveToFile(foto);
end;
procedure TImgProcesado.CambiarZoom(n:integer);
begin
FValor_zoom:= n;
FZoom.Picture.Assign(Self.Picture);
FZoom.Zoom:= FValor_zoom;
Self.Picture.Assign(FZoom.Picture);
end;
procedure TImgProcesado.CambiarInvertir;
begin
FProcesado.Picture.Assign(Self.Picture);
FProcesado.Effect_Invert;
Self.Picture.Assign(FProcesado.Picture);
end;
procedure TImgProcesado.CambiarAlias;
begin
FProcesado.Picture.Assign(Self.Picture);
FProcesado.Effect_AntiAlias;
Self.Picture.Assign(FProcesado.Picture);
end;
procedure TImgProcesado.CambiarContraste(n:integer);
begin
FValor_contraste:=n;
FProcesado.Picture.Assign(Self.Picture);
FProcesado.Effect_Contrast(FValor_contraste);
Self.Picture.Assign(FProcesado.Picture);
end;
procedure TImgProcesado.CambiarGrises;
begin
FProcesado.Picture.Assign(Self.Picture);
FProcesado.Effect_GrayScale;
Self.Picture.Assign(FProcesado.Picture);
end;
procedure TImgProcesado.CambiarBrillo(n:integer);
begin
FValor_brillo:=n;
FProcesado.Picture.Assign(Self.Picture);
FProcesado.Effect_Lightness(FValor_brillo);
Self.Picture.Assign(FProcesado.Picture);
end;
procedure TImgProcesado.CambiarOscuridad(n:integer);
begin
FValor_oscuridad:=n;
FProcesado.Picture.Assign(Self.Picture);
FProcesado.Effect_Darkness(FValor_oscuridad);
Self.Picture.Assign(FProcesado.Picture);
end;
procedure TImgProcesado.CambiarSaturacion(n: integer);
begin
FValor_saturacion:=n;
FProcesado.Picture.Assign(Self.Picture);
FProcesado.Effect_Saturation(FValor_saturacion);
Self.Picture.Assign(FProcesado.Picture);
end;
procedure TImgProcesado.CambiarMosaico(n:integer);
begin
FValor_mosaico:=n;
FProcesado.Picture.Assign(Self.Picture);
FProcesado.Effect_Mosaic(FValor_mosaico);
Self.Picture.Assign(FProcesado.Picture);
end;
end.
Este archivo .pas,debe usar propiedades de los otros .pas. ImageZoom y ProEffectImage ,aprecen en paleta 'Samples',pero no aparece ImgProcesado.
¿Sabéis cuál es el problema?.Estoy desesperado.
Es q quiero crear ese componente con propiedades y eventos de los otros dos. ImageZoom(pkgrim.zip,descargado de este foro o de alguna página recomendada de este foro) y ProEffectImage(descargado gracias a este foro).
Saludos a todos.
