PDA

Ver la Versión Completa : Encajar imagen en QR


Angel.Matilla
10-02-2017, 19:47:02
Me estoy volviendo loco. Estoy trabajando con BCB 6 y QR 3.6.

Tengo un QReport con una única banda de detalle que contiene un único QRImage y quiero meter una imagen que escaneo desde mi aplicación. El problema es que al ver el QR la imagen se sale de los márgenes y ya no sé que combinaciones usar para que no se salga.

Esta es la imagen escaneada
http://i98.photobucket.com/albums/l251/Angel_Matilla/SKMBT_C224e17021021020_0001_zpsn2hgeps0.jpg
Y esta es la salida que me hace QR
http://i98.photobucket.com/albums/l251/Angel_Matilla/QReport_zpsyrnljdse.jpg

Como veis en la segunda se come un poco del lado derecho. He probado con AutoSize, Center y Stretch del QRImage en todas las combinaciones.

ecfisa
10-02-2017, 22:41:24
Hola.

Es un conocido bug del TQRImage; si desde el Object Inspector ajustas la propiedad AutoSize a true aunque sea una vez, ya no funcionará mas la propiedad Stretch en tiempo de diseño.

La solución mas obvia es eliminar la instancia problemática reemplazándola por una nueva (eliminar el TQRImage y poner otro), pero si vuelves a modificar AutoSize otra vez sucederá el error.

Otra opción es ajustar la propiedad Autosize en tiempo de ejecución; para tu caso creo que serviría de este modo:

{

QRImage1->AutoSize = false;
QRImage1->Stretch = true;

QRImage1->Height = QRBand1->Height;
QRImage1->Width = QRBand1->Width;

QuickRep1->Preview();
}


Saludos :)

Angel.Matilla
11-02-2017, 09:41:41
Gracias por la respuesta. Ese código que pones es exactamente el que ha generado el ejemplo que puse.

ecfisa
11-02-2017, 14:12:22
Hola.

¿ Y sigue sin expandirte la imágen ? con ese código visualiza la imágen así:
https://s30.postimg.org/letreodip/A_Matilla.png
aún después de poner la propiedad AutoSize igual a true desde el O. I.

La única diferencia que veo es que mi versión de Q.R. es 3.0.9.

Saludos :)

Angel.Matilla
15-02-2017, 09:22:00
Creo que ya lo solucioné. Al final puse las propiedades del QRImage con Autosize a false y Strecht a true y parece que funciona bien.