function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;
| JpegImage | TStream. Un flujo que contiene datos sin procesar comprimidos con JPEG. La posición del flujo debe estar al inicio de los datos JPEG cuando se llama a este método |
True si los datos JPEG se decodifican e insertan correctamente en la página. Devuelve False si el flujo no contiene datos JPEG válidos o si la operación de incrustación fallaAddJpegImage incrusta una imagen JPEG suministrada como flujo de bytes sin procesar en la página PDF actual. Como los datos JPEG se pasan directamente sin recodificar, la calidad de la imagen se conserva exactamente como está almacenada en el flujo de origen. Esto hace que el método sea adecuado para la generación de documentos en gran volumen, donde decodificar y recomprimir imágenes introduciría una pérdida de calidad o una carga de CPU innecesarias
El flujo JpegImage debe contener un archivo JPEG completo y válido que comience con el marcador SOI. La posición actual del flujo debe estar al principio de los datos JPEG antes de llamar a este método. Se acepta cualquier descendiente de TStream: TFileStream, TMemoryStream, flujos blob de bases de datos, entre otros
Los parámetros X y Y especifican la esquina inferior izquierda del rectángulo de colocación en unidades de usuario PDF (origen en la esquina inferior izquierda de la página, Y aumenta hacia arriba). Width y Height fijan el tamaño renderizado en la página; el JPEG se escala para ajustarse sin importar sus dimensiones en píxeles
El método devuelve True en caso de éxito. Si el flujo no contiene datos JPEG válidos, devuelve False sin generar una excepción, por lo que los llamadores deben comprobar el valor devuelto cuando trabajan con datos de origen incierto
var
Stream: TFileStream;
begin
Stream := TFileStream.Create('C:\Images\photo.jpg', fmOpenRead or fmShareDenyNone);
try
Pdf1.NewPage(595, 842);
if not Pdf1.AddJpegImage(Stream, 72, 400, 300, 225) then
ShowMessage('Failed to embed JPEG image.');
finally
Stream.Free;
end;
end;