Reads a thumbnail image stored in an image stream.
public RasterImage ReadStamp(Stream stream,int pageNumber)
- (nullable LTRasterImage *)readStampFromStream:(LTLeadStream *)streampageNumber:(NSInteger)pageNumbererror:(NSError **)error
public RasterImage readStamp(ILeadStream stream, int pageNumber) public:RasterImage^ ReadStamp(Stream^ stream,int pageNumber)
def ReadStamp(self,stream,pageNumber):
stream
A Stream containing the image data which contains the stamp image to load.
pageNumber
1-based index of the page from which the stamp image should be loaded.
The RasterImage object that this method loads.
Only EXIF, CMP, JPEG, FlashPix, HEIF/HEIC, and PNG formats support stamps. However, not all files of these formats contain stamps. To create a thumbnail image from any file, use ReadThumbnail.
using Leadtools;using Leadtools.Codecs;using Leadtools.ImageProcessing;using Leadtools.ImageProcessing.Color;using Leadtools.Svg;public void StampExample(){RasterCodecs codecs = new RasterCodecs();string srcFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1.cmp");string destFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_WithCustomStamp.cmp");string stampFileName = Path.Combine(LEAD_VARS.ImagesDir, "Image1_Stamp.bmp");// Load the source file nameRasterImage image = codecs.Load(srcFileName);// Save as the destination imagecodecs.Save(image, destFileName, RasterImageFormat.Cmp, 24);// Resize the image to fit into 128 by 128 pixels keeping the aspect ratioLeadRect rc = new LeadRect(0, 0, 128, 128);rc = RasterImage.CalculatePaintModeRectangle(image.ImageWidth,image.ImageHeight,rc,RasterPaintSizeMode.FitAlways,RasterPaintAlignMode.Near,RasterPaintAlignMode.Near);SizeCommand command = new SizeCommand();command.Width = rc.Width;command.Height = rc.Height;command.Flags = RasterSizeFlags.None;command.Run(image);// Add the word "Stamp" on the image at the middlestring message = "Stamp";using (Leadtools.Drawing.RasterGraphics rg = Leadtools.Drawing.RasterImagePainter.CreateGraphics(image)){using (System.Drawing.StringFormat sf = new System.Drawing.StringFormat()){sf.Alignment = System.Drawing.StringAlignment.Center;sf.LineAlignment = System.Drawing.StringAlignment.Center;using (System.Drawing.Font f = new System.Drawing.Font("Arial", 20, System.Drawing.FontStyle.Bold)){System.Drawing.Rectangle rcDraw = new System.Drawing.Rectangle(rc.X, rc.Y, rc.Width, rc.Height);rg.Graphics.DrawString(message, f, System.Drawing.Brushes.Yellow, rcDraw, sf);}}}// Now set this image as the stamp for this filecodecs.SaveStamp(image, destFileName, 1, 1, 1, CodecsSavePageMode.Overwrite);image.Dispose();// Load the stamp from the file and save it into another fileimage = codecs.ReadStamp(destFileName, 1);codecs.Save(image, stampFileName, RasterImageFormat.Bmp, 24);image.Dispose();// Clean upcodecs.Dispose();}static class LEAD_VARS{public const string ImagesDir = @"C:\LEADTOOLS23\Resources\Images";}
import java.io.*;import java.net.*;import java.nio.file.Paths;import java.util.*;import java.time.Instant;import java.time.Duration;import org.junit.*;import org.junit.runner.JUnitCore;import org.junit.runner.Result;import org.junit.runner.notification.Failure;import static org.junit.Assert.*;import leadtools.*;import leadtools.codecs.*;import leadtools.codecs.RasterCodecs.FeedCallbackThunk;import leadtools.drawing.internal.*;import leadtools.imageprocessing.*;import leadtools.imageprocessing.color.ChangeIntensityCommand;import leadtools.svg.*;public void stampExample() {final String LEAD_VARS_IMAGES_DIR = "C:\\LEADTOOLS23\\Resources\\Images";RasterCodecs codecs = new RasterCodecs();String srcFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1.cmp");String destFileName = combine(LEAD_VARS_IMAGES_DIR, "Image2.cmp");String stampFileName = combine(LEAD_VARS_IMAGES_DIR, "Image1_LoadFileTile2.bmp");// Load the source file nameRasterImage image = codecs.load(srcFileName);// Save as the destination imagecodecs.save(image, destFileName, RasterImageFormat.CMP, 24);// Resize the image to fit into 128 by 128 pixels keeping the aspect ratioLeadRect rc = new LeadRect(0, 0, 128, 128);rc = RasterImage.calculatePaintModeRectangle(image.getImageWidth(), image.getImageHeight(), rc,RasterPaintSizeMode.FIT_ALWAYS, RasterPaintAlignMode.NEAR, RasterPaintAlignMode.NEAR);SizeCommand command = new SizeCommand();command.setWidth(rc.getWidth());command.setHeight(rc.getHeight());command.setFlags(RasterSizeFlags.NONE.getValue());command.run(image);// Add the word "Stamp" on the image at the middleString message = "Stamp";ILeadStream ls = LeadStreamFactory.create(destFileName);DrwEngine drwEngine = new DrwEngine(DrwEngineType.OPEN_GL, image);DrwStringFormat sf = drwEngine.newStringFormat(DrwAlignment.CENTER,DrwAlignment.CENTER,DrwStringFormatFlags.NONE.getValue());DrwFont f = drwEngine.newFont("Arial", 20, DrwFontStyle.BOLD.getValue());drwEngine.drawString(message, f, (DrwBrush) drwEngine.newSolidBrush(RasterColor.BLACK), rc.toLeadRectD(), sf);// Now set this image as the stamp for this filecodecs.saveStamp(image, ls, 1, 1, 1, CodecsSavePageMode.OVERWRITE);image.dispose();// Load the stamp from the file and save it into another fileimage = codecs.readStamp(ls, 1);codecs.save(image, stampFileName, RasterImageFormat.BMP, 24);assertTrue("File unsuccessfully saved to" + stampFileName, (new File(stampFileName)).exists());image.dispose();// Clean upcodecs.dispose();}
Implementing Extended FlashPix Support
Help Collections
Raster .NET | C API | C++ Class Library | HTML5 JavaScript
Document .NET | C API | C++ Class Library | HTML5 JavaScript
Medical .NET | C API | C++ Class Library | HTML5 JavaScript
Medical Web Viewer .NET
Multimedia
Direct Show .NET | C API | Filters
Media Foundation .NET | C API | Transforms
Supported Platforms
.NET, Java, Android, and iOS/macOS Assemblies
Imaging, Medical, and Document
C API/C++ Class Libraries
Imaging, Medical, and Document
HTML5 JavaScript Libraries
Imaging, Medical, and Document
