Přidání podpisu k obrázku
Přidání podpisu
Přidání podpisu k obrázku je někdy nezbytné pro digitální podepisování obrázků, aby se předešlo padělání. Další možností může být zacházení s obrázkem tak, jako by byl vystavován v galerii. Bez ohledu na důvod, API Aspose.PSD poskytují funkci přidání podpisu k obrázku pomocí nejjednoduššího mechanismu, jak je vysvětleno níže. Všimněte si, že toto ukázka využívá třídu Graphics k nakreslení dalšího obrázku s podpisem na původní povrch obrázku. Pro demonstrování operace načteme obrázek PSD z disku a nakreslíme další obrázek s podpisem na původní plochu obrázku pomocí metody DrawImage třídy Graphics. Výsledný obrázek uložíme ve formátu PNG pomocí třídy PngOptions. Níže je příklad kódu, který demonstruje, jak přidat podpis k obrázku. Zdrojový kód je rozdělen do částí, aby bylo snadné ho sledovat. Krok za krokem příklad ukazuje, jak:
- Načíst primární a sekundární (podpisové) obrázky.
- Vytvořit a inicializovat objekt Graphics.
- Nakreslit obrázek pomocí metody DrawImage třídy Graphics.
- Uložit výsledek ve formátu PNG.
Příklady programů
Načítání obrázků
Nejprve vytvořte instance třídy Image pro načtení ukázkových obrázků z disku.
Vytvoření a inicializace grafického objektu
Po načtení obrázků vytvořte a inicializujte objekt třídy Graphics pomocí objektu primárního obrázku.
Nakreslení sekundárního obrázku na primární obrázek
Pak pomocí metody DrawImage třídy Graphics přidejte sekundární obrázek na primární obrázek. Metoda DrawImage má několik verzí, které přijímají objekt Image jako první parametr, zatímco všechny ostatní parametry odpovídají místu, kam má být obrázek nakreslen. Pro účely demonstrace následující kód používá přetíženou verzi DrawImage, která přijímá objekt Point jako druhý parametr a snaží se podpis nakreslit do pravé dolní části primárního obrázku.
Uložení obrázku
Nakonec uložte obrázek zpět na lokální disk jako soubor PNG pomocí třídy PngOptions.
Kompletní zdrojový kód
String dataDir = Utils.getDataDir(AddSignatureToImage.class) + "DrawingImages/"; | |
// Create an instance of Image and load the primary image | |
try (Image canvas = Image.load(dataDir + "layers.psd"); | |
// Create another instance of Image and load the secondary image containing the signature graphics | |
Image signature = Image.load(dataDir + "sample.psd")) { | |
// Create an instance of Graphics class and initialize it using the object of the primary image | |
Graphics graphics = new Graphics(canvas); | |
// Call the DrawImage method while passing the instance of secondary image and appropriate location. The following snippet tries to draw the secondary image at the right bottom of the primary image | |
graphics.drawImage(signature, new Point(canvas.getHeight() - signature.getHeight(), canvas.getWidth() - signature.getWidth())); | |
canvas.save(dataDir + "AddSignatureToImage_out.png", new PngOptions()); | |
} |