function AddJpegImage(JpegImage: TStream; X, Y, Width, Height: Double): Boolean;
| JpegImage | TStream. Un flujo que contiene datos JPEG comprimidos sin procesar. 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 decodificaron correctamente y se incrustaron 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 un flujo de bytes sin procesar en la página PDF actual. Como los datos JPEG se pasan directamente sin recodificación, la calidad de la imagen se conserva exactamente como está almacenada en el flujo de origen. Esto hace que el método sea idóneo para la generación de documentos de alto volumen donde decodificar y recomprimir imágenes introduciría una pérdida de calidad o sobrecarga de CPU innecesarias
El flujo JpegImage debe contener un archivo JPEG completo y válido que empiece desde 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 de blob de base de datos, etc
Los parámetros X e Y especifican la esquina inferior izquierda del rectángulo de colocación en unidades de usuario de PDF (origen en la parte inferior izquierda de la página, Y aumenta hacia arriba). Width y Height establecen el tamaño renderizado en la página; el JPEG se escala para ajustarse independientemente de sus dimensiones de píxel
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 al trabajar 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;