Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-11-2007
Avatar de marcosl
marcosl marcosl is offline
Miembro
 
Registrado: may 2007
Ubicación: Buenos Aires, Argentina.
Posts: 27
Poder: 0
marcosl Va por buen camino
Imagen png con formulario transparente?

ok señores, tengo este problema tengo una imagen png toda muy bonita , ahora quiero utilizar esta imagen como splash...

El problema es como hago que solo se muestre la imagen TENGAN ENCUENTRA QUE LA IMAGEN PNG TIENE COLORES ALPHA..

si pongo el formulario con alpha 0 me transparenta hasta la imagen asi que no logro que se vea la imagen...

si pongo un color de transparencia los bordes de la imagen (alpha) se ven pixelados...

No puedo hacer que el formulario tome el contorno de la imagen esto es obvio.

Si capturo lo que tengo de fondo y lo pongo detras de la imagen da la sensacion de transparencia hasta que alguien mueve alguna ventana...



Así que aquí estoy imagen png como splash y sin fondo.... sigo buscando solución
__________________
"Estos son mis principios. Si no le gustan, no importa: tengo otros..."
Responder Con Cita
  #2  
Antiguo 23-11-2007
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Poder: 19
xEsk Va por buen camino
Cita:
Si capturo lo que tengo de fondo y lo pongo detras de la imagen da la sensacion de transparencia hasta que alguien mueve alguna ventana...
Pues así es como lo hacen la mayoría de programas que muestran un Splash-Screen "molón"... xD El Photoshop, el CodeBlocks, etc... utilizan esta técnica o parecida (y les ocurre lo mismo que a ti, como es lógico! xD).

Teniendo en cuenta, que lo que quieres es mostrar un Splash-Screen, no creo que importe mucho lo de que te mueven una ventana, porqué un Splash-Screen no debería durar mucho tiempo en pantalla (a no ser que tu programa tarde mil en abrirse xDD).

Es mi humilde opinión.

Saludos.
Responder Con Cita
  #3  
Antiguo 23-11-2007
Avatar de marcosl
marcosl marcosl is offline
Miembro
 
Registrado: may 2007
Ubicación: Buenos Aires, Argentina.
Posts: 27
Poder: 0
marcosl Va por buen camino
Respuesta

El tiempo que aparece el splash es relativo, que tal si quiero que mi programa se abra y que todabia persista mi splash en el centro o si mi program es pesado y mi splash tiene una barra de progreso y mientras esta cargando el usuario esta haciendo otras cosas.

No es la idea que nos pase lo mismo que a otros programas, en el foro somos mas para pensar.

En cuanto tenga una solución la comparto con ustedes.

"Lo difícil se hace rápido, lo imposible tardamos un ratito más."
__________________
"Estos son mis principios. Si no le gustan, no importa: tengo otros..."
Responder Con Cita
  #4  
Antiguo 24-11-2007
fide fide is offline
Miembro
 
Registrado: oct 2006
Posts: 331
Poder: 18
fide Va por buen camino
Lightbulb Una solucion!

Buscar un color extraño, como el fucia ese, y ponerlo como TransParentColor del form. de ahi, ponerle Transparent := True;

y solo se vera la PNG con sombra y todo...
Responder Con Cita
  #5  
Antiguo 24-11-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Prueba esto:

Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
begin
Brush.Style := bsClear;
BorderStyle := bsNone;
end;

Saludos
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #6  
Antiguo 26-11-2007
Avatar de marcosl
marcosl marcosl is offline
Miembro
 
Registrado: may 2007
Ubicación: Buenos Aires, Argentina.
Posts: 27
Poder: 0
marcosl Va por buen camino
Respuesta

Fide, eso solo funciona con los bmp si tengo un png tengo colores Alpha, que son los colores alpha, son todos aquellos que se funden con el color que tenemos de fondo, si pongo un color y lo pongo como transparente el borde de la imagen queda pixelada y horrible.

Ardilla, eso es lo q es estoy haciendo pero no soluciona el refresco del fondo del splash al cambiar el fondo del escritorio.


talves.. un timer... o capturar el mesaje de windows cuando se mueven las ventanas...
__________________
"Estos son mis principios. Si no le gustan, no importa: tengo otros..."
Responder Con Cita
  #7  
Antiguo 26-11-2007
Avatar de ArdiIIa
[ArdiIIa] ArdiIIa is offline
Miembro Premium
 
Registrado: nov 2003
Ubicación: Valencia city
Posts: 1.481
Poder: 22
ArdiIIa Va por buen camino
Cita:
Empezado por marcosl
Ardilla, eso es lo q es estoy haciendo pero no soluciona el refresco del fondo del splash al cambiar el fondo del escritorio.
talves.. un timer... o capturar el mesaje de windows cuando se mueven las ventanas...
Ya me di cuenta después y realicé otras pruebas....

Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, jpeg, ExtCtrls, StdCtrls, ComCtrls;

type


  TForm1 = class(TForm)
    Image1: TImage;
    ProgressBar1: TProgressBar;
    procedure CreateParams(var Params: TCreateParams); override;
    procedure InicioProcesos;
    procedure Image1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;


var
  Form1: TForm1;

implementation

{$R *.dfm}



procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited CreateParams(Params);
  Params.ExStyle := Params.ExStyle OR WS_EX_TRANSPARENT;
  Brush.Style := bsClear;
  BorderStyle := bsNone;
  Refresh;
end;


procedure TForm1.InicioProcesos;
Var I : integer;
begin
For I := 0 To 100 DO
  Begin
    Sleep(50);
    ProgressBar1.Position := I;
  End;
Close;

end;

procedure TForm1.Image1Click(Sender: TObject);
begin
  InicioProcesos;
end;

end.

OJO: Código original
__________________
Un poco de tu generosidad puede salvar la vida a un niño. ASÍ DE SENCILLO
Responder Con Cita
  #8  
Antiguo 26-11-2007
Avatar de marcosl
marcosl marcosl is offline
Miembro
 
Registrado: may 2007
Ubicación: Buenos Aires, Argentina.
Posts: 27
Poder: 0
marcosl Va por buen camino
Respuesta Ardilla

Bien ardilla estamos un paso mas cerca o almenos hicimos uno al costado...

El tema es este, cuando se abre otra ventana mi splash queda detras... y si lo traigo adelante cuesta un poco que me haga caso, y por otro lado si lo tengo adelante y muevo cualquier ventana que tenga de fondo el splash se mueve con el...

ya se ya se se hace lo que se puede lo que no se compra hecho, igual no vi el cod solo lo implemente dentro de un rato veo como resolver estos dos temas restantes.

Gracias por tu colaboración...
__________________
"Estos son mis principios. Si no le gustan, no importa: tengo otros..."
Responder Con Cita
  #9  
Antiguo 26-11-2007
Avatar de marcosl
marcosl marcosl is offline
Miembro
 
Registrado: may 2007
Ubicación: Buenos Aires, Argentina.
Posts: 27
Poder: 0
marcosl Va por buen camino
otra cosa...

..que econtre fue que si mi aplicacion esta maximizada y hay otra aplicacion corriendo mi imagen de splash se borra al minimizar o maximizar otras ventanas, tambiem encontre el defecto o limitacion que al abrir otra ventana mi imagen se reproduce en todas las ventanas que abro (esto si antes movi la ventana anterior con mi splash que se muevo en conjunto a las otras ventanas)...preguntando se llega a Roma, o no.


Ô_o
__________________
"Estos son mis principios. Si no le gustan, no importa: tengo otros..."
Responder Con Cita
  #10  
Antiguo 06-06-2010
jhonyboy777 jhonyboy777 is offline
Registrado
 
Registrado: ago 2008
Posts: 1
Poder: 0
jhonyboy777 Va por buen camino
usa suipack

instalale el suipack a delphi y trae una herramienta con la que puedes crear formas o formularios a partir de una imagen, solo funciona con bmp pero no hay problema ya que en la configuracion del componente te quita el color que tu gustes para que sea tranaparente espero que te sirva esta informacion y que no sea muy tarde
Responder Con Cita
  #11  
Antiguo 07-09-2012
emesystem emesystem is offline
Registrado
NULL
 
Registrado: sep 2012
Posts: 1
Poder: 0
emesystem Va por buen camino
Talking Gracias Ardilla! :d

[quote=ArdiIIa;248408]Ya me di cuenta después y realicé otras pruebas....

que tal [ ARDILLA ]
MUCHISIMAS GRACIAS, A MI SI ME SIRVIÓ TU EJEMPLO
ESO ES LO QUE ANDABA BUSCANDO EXACTAMENTE!
TE ENVÍO UN GRAN SALUDO!
Y POR CIERTO TENDRÁN CÓDIGO,
PARA VISUALIZAR VIDEO ATRAVES DE UNA CAMARA WEB!?
SE LOS AGRADECERÍA MUCHISIMO
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
imagen en quickreport transparente dtomeysoto Impresión 3 18-10-2007 20:40:34
Usar la imagen de un formulario Duc API de Windows 2 26-11-2006 18:19:29
Imagen de una zona de un formulario. rocio84 Gráficos 5 22-08-2006 17:14:23
Formulario como imagen hector_etv Varios 1 19-08-2005 11:26:02
Insertar una imagen en un formulario Luli Gráficos 2 07-10-2004 08:19:33


La franja horaria es GMT +2. Ahora son las 09:18:43.


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
Copyright 1996-2007 Club Delphi