روش های زیادی برای تبدیل عکس به متن در جاوا و همینطور تبدیل متن به عکس وجود دارد که بعضی از آنها بسته به حوزه های کاربردی از روش های خیلی پیچیده استفاده می کنند. اما در اینجا ما یک کد آماده ارایه می کنیم که از API های یک کتابخانه خارجی برای این منظور استفاده می کند.
کد تبدیل عکس به متن در جاوا و تبدیل متن به عکس :
نام این کتابخانه خارجی که برای تبدیل تصویر به متن و بالعکس استفاده می کنیم، Apache Commons Codec 1.10 هست که از اینجا می توانید آن را دانلود کرده و به محیط برنامه نویسی خود add نمایید.
این کد ابتدا تصویر را از روی هارد خوانده و در یک رشته به اصطلاح Base64 به صورت باینری ذخیره می کند.
و سپس به کمک دستور و متد زیر آن را به رشته متنی تبدیل می کند:
String imageDataString = encodeImage(imageData);
و بعد دوباره آن را به وسیله متد زیر به حالت تصویر اصلی بر می گرداند:
byte[] imageByteArray = decodeImage(imageDataString);
[vc_message message_box_color=”sandy_brown” icon_fontawesome=”fa fa-chevron-circle-left”]همچنین بخوانید: باهم جاوا یادبگیریم[/vc_message]
مزیت این روش در این است که تصویر را می توان به جای اینکه به همان فرمت تصویر به در درون شبکه منتقل کنیم آن را به صورت یک فایل متنی (مانند فایل xml ،JASON و… ) در شبکه از ماشینی به ماشین دیگر ارسال کنیم و هر رمزگذاری که اعمال می کنیم روی آن فایل متنی باشد نه تصویر.
کد این برنامه رو در زیر می توانید مشاهده نمایید:
package com.myjeeva.image;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import org.apache.commons.codec.binary.Base64;
/**
* @desc Image manipulation - Conversion
*
* @filename ImageManipulation.java
* @author Jeevanandam M.
* @copyright myjeeva.com
*/
public class ImageManipulation {
/**
* @param args
*/
public static void main(String[] args) {
File file = new File("/Users/sara/Pictures/wallpapers/water-drop.jpg");
try {
// Reading a Image file from file system
FileInputStream imageInFile = new FileInputStream(file);
byte imageData[] = new byte[(int) file.length()];
منبع : نواندیشان