کتابخانه جاوا اسکریپت منبع باز برای پردازش تصویر
JavaScript API برای تشخیص ابعاد تصویر
Image-Size چیست؟
Image-Size یک کتابخانه پردازش تصویر بسیار سبک وزن است که توسعه دهندگان نرم افزار را قادر می سازد تا ابعاد تصاویر را در زمان اجرا دریافت کنند. API از طیف وسیعی از فرمتهای تصویر پشتیبانی میکند و میتوانید با استفاده از API ابعاد بسیاری از فرمتهای فایل محبوب را دریافت کنید. API یک روش همزمان و ناهمزمان برای کار با تصاویر ارائه می دهد. توابع ناهمزمان دارای محدودیت همزمانی پیشفرض 100 هستند و برای تغییر این محدودیت میتوانید به صورت دستی همزمانی را تغییر دهید. علاوه بر این، اگر ورودی بافر باشد، نسخه ناهمزمان کار نمی کند و باید به جای آن از روش ناهمزمان استفاده کنید.
شروع کار با اندازه تصویر
روش توصیه شده برای نصب Image-Size از طریق NPM. لطفا از دستور زیر برای نصب آن استفاده کنید.
Image-Size را از طریق NPM نصب کنید
npm install image-size --global
ابعاد تصویر را از طریق API جاوا اسکریپت رایگان دریافت کنید
کتابخانه منبع باز Image-Size به توسعه دهندگان جاوا اسکریپت اجازه می دهد تا ابعاد تصاویر را به صورت برنامه نویسی دریافت کنند. برای بدست آوردن ابعاد از یک تصویر، API متد sizeOf() را ارائه می کند. با استفاده از دو خط کد زیر به راحتی می توانید ابعاد تصویر را بدست آورید.
دریافت ابعاد تصویر
- بارگذاری کتابخانه اندازه تصویر
- با استفاده از متد sizeOf() ابعاد را دریافت کنید و مسیر تصویر را به عنوان رشته ارسال کنید
- با استفاده از dimensions.width و ارتفاع را با استفاده از dimensions.height دریافت کنید
دریافت ابعاد تصویر از طریق جاوا اسکریپت
const sizeOf = require('image-size')
const dimensions = sizeOf('images/funny-cats.png')
console.log(dimensions.width, dimensions.height)
کتابخانه Image-Size همچنین قابلیتی برای بدست آوردن اندازه تصویر با استفاده از URL ارائه کرده است. همچنین می توان کل تصویر را دانلود نکرد و به صورت اختیاری پس از چند کیلوبایت دانلود تصویر را متوقف کرد. همچنین می توان انواع خاصی از تصاویر را غیرفعال کرد. مثال زیر نحوه دسترسی به ابعاد تصویر با استفاده از URL را نشان می دهد
اندازه تصویر را از طریق URL دریافت کنید
const url = require('url')
const http = require('http')
const sizeOf = require('image-size')
const imgUrl = 'http://my-amazing-website.com/image.jpeg'
const options = url.parse(imgUrl)
http.get(options, function (response) {
const chunks = []
response.on('data', function (chunk) {
chunks.push(chunk)
}).on('end', function() {
const buffer = Buffer.concat(chunks)
console.log(sizeOf(buffer))
})
})