_Leo Site Admin

Registrado: 11 Ago 2002Mensajes: 1875Ubicación: Lanzarote - Islas Canarias (España)
|
Publicado: Sab 19 Jul, 2003 8:06 am Asunto: |
|
|
| Cita: | Pero el error aparece cuando hago la declaracion
pBitmap = Image1->Picture->Bitmap;
y en cambio cuando la hago de la forma
pBitmap->Assign(Image1->Picture->Bitmap);
no me da ningun error. |
Supongo que has leído el post donde te contestan a como copiar una imagen (https://cppbuilder.es/viewtopic.php?t=6010), porque en este caso si estas haciendo una burrada como diría Toño porque pBitmap no es una propiedad sino un puntero y lo estas sobrescribiendo con el valor de otro y luego claro al liberarlo tendrás problemas. En este caso la segunda forma que pones es la correcta.
| Cita: | El caso es que si lo hago de la segunda forma la
calidad de la imagen se me distorciona y no quiero que esto pase. |
La posible culpable de esa "distorsion" es la siguiente linea:
pBitmap->PixelFormat = pf8bit;
es posible que estes intentando copiar una imagen de mas de 256 colores, y con esta línea le estas indicando que al copiarse se reduzca a 256, puedes o bien asignarle pf16bit, pf24bit, pf32bit, etc... según la paleta de la imagen o bien:
pBitmap->PixelFormat = Image1->Picture->Bitmap->PixelFormat; |
|