FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
AlphaBlend con Imagenes
hola a todos , bueno . Soy nuevo en esto de programar hasta ahora aprendi a programar lo basico en delphiy ahora estoy entrando al mundo de C++ builder ,Yo quisiera q me ayuden a pasar este codigo de Delphi a C++ builder
Es un codigo de tranparencias entre 2 imagenes , donde yo tengo 2 imagenes en formulario q contienen las imagenes q voy ocupar(Image1,Image2),y en el canvas de Image3 pinto la imagen combinada entre Image1 y Image2 , una Semitransparencia entre 2 imagenes, En el edit1->Text se inserta el porcentaje de transparencia. mi problema es q nose como usar el procedimiento Alphablend q creo q pertenece a la API de Windows
Última edición por Casimiro Notevi fecha: 25-06-2010 a las 10:14:42. |
#2
|
||||
|
||||
Un proyecto con tres TImage un Edit y un botón.
Los TImage deben tener una imagen cargada previa. Código:
#include <vcl.h> #pragma hdrstop #include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" // IMPORTANTE: // Para poder usar la función AlphaBlend del API tenemos que añadir // msimg32.lib al proyecto: // Añadir "$(BCB)\lib\PSDK" al library path en opciones de proyecto. #pragma link "msimg32.lib" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { BLENDFUNCTION xBlend; int ini,iAncho,iAlto,Alpha; Graphics::TBitmap *aBitmap1, *aBitmap2, *aBitmap3; iAncho = Image1->Width; iAlto = Image1->Height; aBitmap1 = new Graphics::TBitmap; aBitmap2 = new Graphics::TBitmap; aBitmap3 = new Graphics::TBitmap; aBitmap1->Assign(Image1->Picture->Graphic); aBitmap2->Assign(Image2->Picture->Graphic); aBitmap3->Width = iAncho; aBitmap3->Height =iAlto; ini = GetTickCount(); aBitmap3->Assign(aBitmap1); xBlend.BlendOp = AC_SRC_OVER; xBlend.BlendFlags = 0; Alpha = StrToInt(Edit1->Text); xBlend.SourceConstantAlpha = Alpha; xBlend.AlphaFormat = 0; AlphaBlend(aBitmap3->Canvas->Handle,0,0,iAncho,iAlto,aBitmap2->Canvas->Handle,0,0,iAncho,iAlto,xBlend); Image3->Canvas->Draw(0,0,aBitmap3); Caption = IntToStr(GetTickCount() - ini)+" milisegundos por frame " + IntToStr(Alpha); } //--------------------------------------------------------------------------- |
#3
|
|||
|
|||
Gracias por la ayuda
Gracias por responder tan rapido scafandra ,
yo no sabia q se tenia que de añadir esa libreria voy a probar tu codigo, despues t aviso si me corre |
#4
|
|||
|
|||
Scafandra una pregunta
/ Para poder usar la función AlphaBlend del API tenemos que añadir // msimg32.lib al proyecto: Disculpa mi ignorancia Como puedo añadir msimg32.lib a mi proyecto |
#5
|
||||
|
||||
Cita:
Saludos. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Problem con AlphaBlend y forms embebidos | old_martinez | Varios | 1 | 12-03-2009 20:53:05 |
AlphaBlend | aeff | API de Windows | 10 | 30-11-2008 14:10:25 |
Imagenes | Nomad | Varios | 1 | 04-06-2007 22:39:01 |
Aplicar AlphaBlend pero a un componente | quetzal | Varios | 1 | 19-09-2004 09:56:24 |
Imagenes GIF | NuncaMas | Gráficos | 1 | 04-12-2003 22:20:38 |
|