در این جلسه تیم کدگیت را با آموزش تبدیل png به jpg در جاوا همراهی کنید. پیش نیاز این آموزش شامل موارد زیر است:
- آشنایی با متد
- کار با تصاویر در جاوا
- آشنایی با شی گرایی
فرمت png
فرمت (PNG (Portable Network Graphics فرمتی پیکسلی یا بیتمپ است که در سال ۱۹۹۵ بهعنوان جایگزین فرمت گیف (GIF) ارائه شد. در فرمت PNG، تصاویر به صورت ۲۴ یا ۳۲ بیت در پیکسل، در محیط رنگی RGB، با کانال ماسک (Alpha Channel) یا بدون آن و با روش فشردهسازی بدون از دست دادن اطلاعات تصویر (lossless data compression) ذخیره میشوند، بنابراین پالت رنگیِ این تصاویر کامل (True color) است، ضمن اینکه تصاویر PNG را نیز میتوان مانند تصاویرGIF با عمق رنگ کمتر بهصورت Indexed Color نیز ذخیره کرد(mehdi.blogfa.com).
فرمت jpeg
اولین تصور اشتباه در مورد JPEG این است که از آن به عنوان فرمت فایل یاد میشود، اما این طور نیست. JPEG در واقع تکنیکی برای فشرده سازی تصویر است. نام آن نیز مخفف Joing Photographic Experts Group یا گروه مشترک خبرگان عکاسی میباشد، گروه حرفهای عکاسی که استاندارد JPEG را توسعه میدهند. در سال ۱۹۸۶ این گروه تشکیل شد تا یک استاندارد برای فشرده سازی تصاویر ایجاد کند(zoomit.ir).
تبدیل png به jpg در جاوا
برای تبدیل png به jpg در جاوا یک متد نوشتیم با دو ورودی. ورودی اول آدرس فایل png است و ورودی دوم آدرس فایل jpg ما است. کد تبدیل png به jpg در جاوا به صورت زیر است:
public static void convertpngtojpg(String sourceaddress, String destaddress){
BufferedImage bufferedImage;
try {
bufferedImage = ImageIO.read(new File(sourceaddress));
BufferedImage newBufferedImage = new BufferedImage(bufferedImage.getWidth(),
bufferedImage.getHeight(), BufferedImage.TYPE_INT_RGB);
newBufferedImage.createGraphics().drawImage(bufferedImage, 0, 0, Color.WHITE, null);
ImageIO.write(newBufferedImage, "jpg", new File(destaddress));
System.out.println("Done");
} catch (IOException e) {
e.printStackTrace();
}
}
در کد بالا ما فایل png را با BufferedImage میخوانیم سپس یک تصویر خالی که طول و عرض آن با عکس png ما برابر است میسازیم و در newBufferedImage میریزیم. سپس با متد drawImage عکس png را در newBufferedImage میریزیم. در آخر newBufferedImage را در فایل jpg ذخیره میکنیم.
تست تبدیل png به jpg در جاوا
برای تست کدهای بالا، کد main زیر را بزنید:
public static void main(String[] args) {
convertpngtojpg("convert.png","convert.jpg");
}
با زدن کد بالا شما به فولدر workspace خود رفته و پروژه تبدیل png به jpg در جاوا را باز کنید. عکسی با فرمت png به نام convert.png در آنجا قرار دهید و برنامه را اجرا کنید. خروجی یک فایل با همان نام ولی به فرمت jpg است.
سلام
استثنا داره
اجرا نمیشه
سلام. کد بررسی شد. مشکلی از لحاظ اجرا نداره. چک کنید مشکل از خواندن فایل نباشه.