| Ver tema anterior :: Ver tema siguiente |
| Autor |
Mensaje |
Felip Master

Registrado: 09 Jun 2004Mensajes: 200
|
Publicado: Mie 07 Dic, 2005 5:57 pm Asunto: Delphi y C++Builder |
|
|
Hola amigos del foro. Yo tengo código fuente en Delphi y quiero pasarlo a C++Builder
| Código: |
VAR
Bitmap15: TBitmap;
Bitmap : TBitmap;
i : INTEGER;
j : INTEGER;
Row15 : pWordArray;
Row24 : pRGBTripleArray;
...
Bitmap := TBitmap.Create;
TRY
Bitmap.LoadFromFile('N:\Images\Flowers\Tulip3.BMP');
// Convert pf24bit bitmap to pf15bit bitmap the "hard way"
Bitmap15 := TBitmap.Create;
TRY
Bitmap15.Width := Bitmap.Width;
Bitmap15.Height := Bitmap.Height;
Bitmap15.PixelFormat := pf15bit;
FOR j := 0 TO Bitmap.Height-1 DO
BEGIN
Row15 := Bitmap15.Scanline[j];
Row24 := Bitmap.Scanline[j];
FOR i := 0 TO Bitmap.Width-1 DO
BEGIN
WITH Row24[i] DO
Row15[i] := (rgbtRed SHR 3) SHL 10 OR
(rgbtGreen SHR 3) SHL 5 OR
(rgbtBlue SHR 3)
END
END;
Bitmap15.SaveToFile('Tulip3-15A.BMP');
FINALLY
Bitmap15.Free
END;
// Convert pf24bit bitmap to pf15bit bitmap the "easy way"
ASSERT(Bitmap.PixelFormat = pf24bit); // verify pf24bit
Bitmap.PixelFormat := pf15bit; // Assignment results in conversion
Bitmap.SaveToFile('Tulip3-15B.BMP')
FINALLY
Bitmap.Free
END
// Tulip3-15A.BMP and Tulip3-15B.BMP should be identical bitmaps
|
gracias. |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Mie 07 Dic, 2005 6:57 pm Asunto: |
|
|
| Código: |
TBitmap *Bitmap15;
TBitmap *Bitmap;
int i;
int j;
pWordArray Row15;
pRGBTripleArray Row24;
...
Bitmap = new TBitmap();
try{
Bitmap->LoadFromFile("N:\\Images\\Flowers\\Tulip3.BMP");
// Convert pf24bit bitmap to pf15bit bitmap the "hard way"
Bitmap15 = new TBitmap();
try{
Bitmap15->Width = Bitmap->Width;
Bitmap15->Height = Bitmap->Height;
Bitmap15->PixelFormat = pf15bit;
for(j=0;j<Bitmap.Height-1;j++)
{
Row15 = Bitmap15->Scanline[j];
Row24= Bitmap->Scanline[j];
for(i=0;Bitmap->Width-1;i++)
{
Row15[i] = (Row24[i].rgbtRed SHR 3) SHL 10 OR
(Row24[i].rgbtGreen SHR 3) SHL 5 OR
(Row24[i].rgbtBlue SHR 3)
}
}
Bitmap15->SaveToFile("Tulip3-15A.BMP");
__finally
delete Bitmap15;
}
// Convert pf24bit bitmap to pf15bit bitmap the "easy way"
ASSERT(Bitmap->PixelFormat == pf24bit); // verify pf24bit
Bitmap->PixelFormat = pf15bit; // Assignment results in conversion
Bitmap->SaveToFile("Tulip3-15B.BMP")
__finally
delete Bitmap;
}
// Tulip3-15A.BMP and Tulip3-15B.BMP should be identical bitmaps
|
_________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
Felip Master

Registrado: 09 Jun 2004Mensajes: 200
|
Publicado: Jue 08 Dic, 2005 4:01 am Asunto: |
|
|
hola, LordNemesis, muchas gracias por contestarme. Intenté utilizar el codigo pero no logro compilar... aparece siguiente mensajes de error:
| Código: |
pWordArray Row15;
pRGBTripleArray Row24;
|
[C++ Error] Unit1.cpp(283): E2451 Undefined symbol 'pWordArray'
[C++ Error] Unit1.cpp(284): E2451 Undefined symbol 'pRGBTripleArray'
| Código: |
Row15[i] = (Row24[i].rgbtRed SHR 3) SHL 10 OR
(Row24[i].rgbtGreen SHR 3) SHL 5 OR
(Row24[i].rgbtBlue SHR 3);
|
[C++ Error] Unit1.cpp(299): E2451 Undefined symbol 'Row15'
[C++ Error] Unit1.cpp(300): E2451 Undefined symbol 'Row24'
¿Alguien sabe como puedo resolver el problema?
Un saludo y gracias. |
|
| Volver arriba |
|
 |
LordNemesis Master


Registrado: 31 Dic 2003Mensajes: 340Ubicación: México
|
Publicado: Jue 08 Dic, 2005 6:09 pm Asunto: |
|
|
como puedes observar...
pWordArray;
pRGBTripleArray;
... son tipos de datos, lo que tienes que hacer es investigar en que libreria estan par apoder utilizarlos, o como son simples estructuras, identificarlas y declararlas tu mismo... los demas errores son derivados de este... _________________ Dirección Municipal de Informática
H. Ayuntamiento de Tijuana
Arriba Lopez Obrador !!!
Los Mexicanos Merecemos Respeto !!! |
|
| Volver arriba |
|
 |
Felip Master

Registrado: 09 Jun 2004Mensajes: 200
|
Publicado: Vie 09 Dic, 2005 7:15 pm Asunto: |
|
|
| muchas gracias LordNemesis. |
|
| Volver arriba |
|
 |
|