اضافه کردن امضا به تصویر
اضافه کردن امضا
اضافه کردن یک امضا به یک تصویر گاهی اوقات نیاز است تا تصاویر به صورت دیجیتال امضا شده و از تقلب جلوگیری شود. یک دید دیگر ممکن است این باشد که تصویر را بیشتر مانند نمایش آن در یک گالری در نظر گرفت. هر چه دلیل باشد، API های Aspose.PSD امکان اضافه کردن امضا به یک تصویر را با استفاده از مکانیزم ساده ارائه می دهند که در زیر توضیح داده شده است. لطفا توجه داشته باشید که این مثال از کلاس Graphics برای رسم یک تصویر دیگر به عنوان امضا بر روی سطح تصویر اصلی استفاده می کند. برای نمایش عملیات، ما یک تصویر PSD را از دیسک بارگذاری کرده و یک تصویر دیگر به عنوان امضا بر روی سطح تصویر اصلی با استفاده از متد DrawImage کلاس Graphics رسم خواهیم کرد. ما تصویر نتیجه را با استفاده از کلاس PngOptions به فرمت PNG ذخیره خواهیم کرد. در زیر مثال کدی وجود دارد که نشان می دهد چگونه یک امضا به یک تصویر اضافه کنیم. مثال کد منبع به بخش های مختلف تقسیم شده است تا پیگیری آن آسان شود. گام به گام، مثال نشان می دهد چگونه:
- تصاویر اصلی و ثانویه (امضا) را بارگذاری کنید.
- یک شی از کلاس Graphics ایجاد و مقدمه بدهید.
- تصویر را با استفاده از متد DrawImage کلاس Graphics رسم کنید.
- نتیجه را در فرمت PNG ذخیره کنید.
نمونه های برنامه
بارگذاری تصاویر
اولا، نمونه های کلاس تصویر را برای بارگیری تصاویر نمونه از دیسک ایجاد کنید.
ایجاد و مقدمه برداشتن یک شی گرافیک
پس از بارگیری تصاویر، یک شی از کلاس گرافیک ایجاد و مقدمه دهید در حالی که از شی تصویر اصلی استفاده می کنید.
رسم تصویر ثانویه بر روی تصویر اصلی
سپس با استفاده از متد DrawImage کلاس گرافیک، تصویر ثانویه را به تصویر اصلی اضافه کنید. برای DrawImage چندین حالت بارگیری وجود دارد که یک شی از تصویر به عنوان اولین پارامتر را قبول می کنند در حالی که سایر پارامترها مکانی که تصویر باید رسم شود را نشان می دهد. برای نمایش، کد زیر از نسخه تابع DrawImage استفاده می کند که یک شی از نقطه را به عنوان پارامتر دوم قبول می کند و سعی می کند امضا را در گوشه پایین سمت راست تصویر اصلی رسم کند.
ذخیره کردن تصویر
سرانجام، تصویر را به عنوان یک فایل PNG با استفاده از کلاس PngOptions به دیسک محلی ذخیره کنید.
کد منبع کامل
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()); | |
} |