زندگی شخصی تا رسمی ما با تصاویر شطرنجی احاطه شده است. در حین استفاده از تلفن های همراه، اسکنرها، دستگاه های تصویربرداری و دوربین های مختلف دیگر که در دستگاه های مختلف استفاده می شود، حجم عظیمی از داده ها را از نظر تصاویر تولید می کنیم. اکنون بسته به الگوریتم فشرده سازی، هر دستگاهی تصاویر را در ابعاد و اندازه های متفاوت تولید می کند. اما در صورتی که نیاز به ذخیره تصاویر (JPG، PNG، GIF، TIFF و غیره) در ابعاد یکپارچه داشته باشیم، پس باید تغییر اندازه تصاویر ما تعداد زیادی برنامه تغییر اندازه عکس را در بازار داریم، اما در صورتی که نیاز به تغییر اندازه تصویر به صورت آنلاین به صورت انبوه داشته باشیم، یک راه حل برنامه ای همیشه یک رویکرد قابل اجرا است. بنابراین، در این مقاله، قصد داریم جزئیات/مراحل چگونگی توسعه تغییر اندازهدهنده تصویر با استفاده از Java Cloud SDK را مورد بحث قرار دهیم.
API تغییر اندازه تصویر
برای تغییر اندازه تصویر، از Aspose.Imaging Cloud SDK for Java استفاده می کنیم. به دلیل معماری مبتنی بر REST، ما میتوانیم به API در هر پلتفرمی دسترسی داشته باشیم و تغییر اندازهدهنده عکس را توسعه دهیم. جدا از قابلیت تغییر اندازه تصویر به صورت آنلاین، همچنین به شما امکان می دهد فایل های تصویری را به انواع [فرمت های فایل پشتیبانی شده] ایجاد، ویرایش و تبدیل کنید. حال برای شروع، باید مرجع آن را در پروژه جاوا با قرار دادن اطلاعات زیر در pom.xml (پروژه نوع ساخت maven) اضافه کنیم.
<repositories>
<repository>
<id>aspose-cloud</id>
<name>artifact.aspose-cloud-releases</name>
<url>http://artifact.aspose.cloud/repo</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>com.aspose</groupId>
<artifactId>aspose-imaging-cloud</artifactId>
<version>22.4</version>
</dependency>
</dependencies>
اگر روی Aspose Cloud Dashboard حسابی ندارید، لطفاً یک حساب رایگان از طریق آدرس ایمیل معتبر ایجاد کنید. اکنون با استفاده از حساب تازه ایجاد شده وارد شوید و Client ID و Client Secret را در Cloud Dashboard جستجو/ایجاد کنید. این جزئیات برای اهداف احراز هویت در بخشهای زیر مورد نیاز است.
تغییر اندازه تصویر در جاوا
این بخش مراحل نحوه تغییر اندازه تصویر PNG را توضیح می دهد. API انتظار دارد تصویر را از درایو محلی بارگیری کند که ما باید مستقیماً تصویر را در بدنه درخواست ارسال کنیم. پس از عملیات تغییر اندازه png، می توانیم با تعیین مقدار پارامتر outPath، تصویر به روز شده را در Cloud Storage ذخیره کنیم. با این حال، اگر مقدار را مشخص نکنیم، پاسخ حاوی یک تصویر استریم شده است.
- یک نمونه از ImagingApi بر اساس اعتبار مشتری شخصی سازی شده ایجاد کنید
- با استفاده از شی File فایل PNG را از پوشه محلی بخوانید
- نمونه بایت[] ایجاد کنید و با استفاده از روش readAllBytes(…) همه بایت ها را از فایل بخوانید
- با استفاده از اشیاء عدد صحیح، ابعاد تصویر جدید را مشخص کنید
- اکنون یک نمونه از CreateResizedImageRequest ایجاد کنید که در آن نام تصویر حاصل را مشخص می کنیم.
- در نهایت اندازه تصویر را با استفاده از روش createResizedImage(…) تغییر دهید
// ClientID و ClientSecret را از https://dashboard.aspose.cloud/ دریافت کنید
String clientId = "7ef10407-c1b7-43bd-9603-5ea9c6db83cd";
String clientSecret = "ba7cc4dc0c0478d7b508dd8ffa029845";
// ایجاد شی تصویربرداری
ImagingApi imageApi = new ImagingApi(clientSecret, clientId);
// فایل را از درایو محلی بارگیری کنید
File f = new File("PinClipart.png");
// محتوای آرایه PNG تصویر به بایت را بخوانید
byte[] bytes = Files.readAllBytes(f.toPath());
// ابعاد جدید برای تصویر حاصل
int newWidth = 150;
int newHeight = 150;
// ایجاد درخواست تغییر اندازه تصویر در حالی که نام تصویر حاصل را مشخص می کنید
CreateResizedImageRequest resizeRequest = new CreateResizedImageRequest(bytes, newWidth, newHeight, null, "Updated.png", null);
// اندازه تصویر را به صورت آنلاین تغییر دهید و خروجی را در فضای ذخیره سازی ابری ذخیره کنید
imageApi.createResizedImage(resizeRequest);
تغییر اندازه GIF با استفاده از دستورات cURL
در حین عملیات تغییر اندازه تصویر، می توانیم فرمت به روز شده را نیز برای تصویر مشخص کنیم. بنابراین در این قسمت قصد داریم اندازه GIF را تغییر داده و خروجی را با فرمت JPG با استفاده از دستورات cURL ذخیره کنیم. بنابراین به عنوان یک پیش نیاز، ابتدا باید یک توکن دسترسی JWT (بر اساس اعتبار مشتری) در حین اجرای دستور زیر تولید کنیم.
curl -v "https://api.aspose.cloud/connect/token" \
-X POST \
-d "grant_type=client_credentials&client_id=bb959721-5780-4be6-be35-ff5c3a6aa4a2&client_secret=4d84d5f6584160cbd91dba1fe145db14" \
-H "Content-Type: application/x-www-form-urlencoded" \
-H "Accept: application/json"
هنگامی که توکن JWT تولید شد، لطفاً با ResizeImage API تماس بگیرید تا اندازه تصویر را تغییر دهید و خروجی را با فرمت JPG در درایو محلی ذخیره کنید (پارامتر فرمت فایل حاصل اختیاری است).
curl -v -X GET "https://api.aspose.cloud/v3.0/imaging/winter.gif/resize?newWidth=200&newHeight=200&format=JPG" \
-H "accept: application/json" \
-H "authorization: Bearer <JWT Token>" \
-o "resultant.jpg"
تصویر GIF منبع را می توان از winter.gif و تصویر حاصل را از resultant.jpg دانلود کرد.
نتیجه
ما یک روش شگفت انگیز برای تغییر اندازه تصویر آنلاین با استفاده از قطعه کد جاوا آموخته ایم. همچنین ما را در مورد جزئیات نحوه تغییر اندازه تصویر بدون از دست دادن کیفیت با استفاده از دستورات cURL روشن کرده است. لطفاً توجه داشته باشید که هنگام استفاده از Swagger API Reference، میتوانید قابلیتهای API را در مرورگر وب نیز بررسی کنید. اکنون به غیر از قابلیتهای Picture Resizer، میتوانید سایر ویژگیهای هیجانانگیز API را از Product Documentation کاوش کرده و در مورد آن اطلاعات کسب کنید. با این وجود، همه کیتهای توسعه نرمافزار ابری ما تحت مجوز MIT منتشر شدهاند، بنابراین میتوانید کد منبع کامل را از GitHub دانلود کنید (که میتوانید آن را مطابق با نیاز خود تغییر دهید). در نهایت، اگر در حین استفاده از API با مشکلی مواجه شدید، ممکن است از طریق [تالار گفتمان پشتیبانی محصول] رایگان به ما برای حل و فصل سریع مراجعه کنید.
مقالات مرتبط
لطفا برای کسب اطلاعات بیشتر به لینک های زیر مراجعه کنید: