Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Gráficos (https://www.clubdelphi.com/foros/forumdisplay.php?f=8)
-   -   Uso de una imagen tipo Template (https://www.clubdelphi.com/foros/showthread.php?t=93582)

hgiacobone 21-11-2018 21:08:19

Uso de una imagen tipo Template
 
Hola gente...
Les planteo un tema que es muy conocido por todos, pero a pesar de ello y aunque no lo crean, hace días que vengo dando vueltas por la red y no encuentro info al respecto.

Se trata de cómo utilizar una imágen de tipo "Template", similar al ejemplo que adjunto aquí:


Se trata del tipo de imagen que contiene todo o gran parte, de lo que a aspecto grafico se refiere para nuestra aplicación.

Entonces, entiendo que primero se debe cargar (o leer) la imagen del template para, en pasos sucesivos, ir extrayendo las regiones que correspondan a cada área de la interfaz, como ser la gráfica de botones; fondos y bordes para ventanas de dialogo; etc.

También entiendo que, cada una de esas "porciones" de pequeñas imágenes, se pueden obtener mediante coordenadas en pixeles.
Supongamos para la imagen del ejemplo, la gráfica para botones se encuentra entre los puntos 60,660 (Sup,Izq) y 302,780 (Inf,Der)

Alguna idea de cómo ir realizando esto?

el-mono 22-11-2018 01:52:42

No adjuntaste nada.

escafandra 22-11-2018 07:22:28

Es posible que este tema te sirva de algo:
Manejo de imágenes Bitmap estilo Winamp

Saludos.

hgiacobone 22-11-2018 17:11:23

Cita:

Empezado por el-mono (Mensaje 529648)
No adjuntaste nada.

Es que el editor te pone directamente el LINK.
Supongo que debes seguirlo para ver la imagen del ejemplo.

hgiacobone 22-11-2018 17:14:32

Cita:

Empezado por escafandra (Mensaje 529649)
Es posible que este tema te sirva de algo:Manejo de imágenes Bitmap estilo WinampSaludos.

Gracias amigo.
Voy a leerlo y luego comento.

juniorSoft 23-11-2018 15:28:34

Hola amigos,


También estuve mirando el contenido del enlace, me encanto la forma de diseñar los formularios, aunque cuando lo probé en Delphi Tokio no presenta nada.

En el ejemplo que utiliza imágenes PNG, al parecer no se asigna el Handle correctamente ya que el error esta dando cuando se invoca la función CreateBitmapRgn

Estube modificandolo utilizando la unidad pngimage de delphi para tratar dichas imagenes pero de todas formas sigue sin presentar nada.

Saludos,

escafandra 24-11-2018 00:41:22

El código original está escrito para delphi7 en un mundo sin unicode. Para adaptarlo a Berlin o Tokio hay que modificar la función CreateHBITMAPFromFile que quedaría así:


Código Delphi [-]
function CreateHBITMAPFromFile(FileName: PCHAR): HBITMAP;
var
  gdiplusToken: DWORD;
  GdiPlusStartupInput: array[0..2] of int64;
  GBitmap: THANDLE;

begin
  Result:= 0;
  // Initialize GDI+.
  GdiPlusStartupInput[0]:= 1; GdiPlusStartupInput[1]:= 0;
  if GdiplusStartup(gdiplusToken, @GdiPlusStartupInput, nil) = 0 then
  begin
    GdipCreateBitmapFromFile(FileName, GBitmap);
    GdipCreateHBITMAPFromBitmap(GBitmap, Result, 0);

    //shutdown GDI+
    GdiplusShutdown(gdiplusToken);
  end;
end;


Aquí puedes encontrar el proyecto completo adaptado a Berlin.




Saludos.

juniorSoft 24-11-2018 00:56:11

Mil Gracias escafandra, funciona perfectamente ^\||/

Éxitos,


La franja horaria es GMT +2. Ahora son las 23:19:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi