Heim > Java > javaLernprogramm > Beispiele für Bildverarbeitung und Base64-Kodierungskonvertierung in Java

Beispiele für Bildverarbeitung und Base64-Kodierungskonvertierung in Java

黄舟
Freigeben: 2017-08-13 09:36:06
Original
1557 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich Beispiele für die Konvertierung zwischen Java-Verarbeitungsbildern und Base64-Codierung vor. Er hat einen gewissen Referenzwert.

Das heutige Projekt hat die Funktion zum Hochladen von Avataren optimiert. Verwenden Sie das Imagecropper-Plugin, um den Effekt des Zuschneidens von Bildern zu erzielen.

Die von diesem Plug-in zugeschnittenen Bilder sind alle Base64-verschlüsselte Zeichenfolgen. Beim Hochladen von Avataren stellt sich auch die Frage, wie die verschlüsselten Zeichenfolgen in Bilder umgewandelt werden.

Das Folgende ist der Code:


/**
 * @Description: 将base64编码字符串转换为图片
 * @Author: 
 * @CreateTime: 
 * @param imgStr base64编码字符串
 * @param path 图片路径-具体到文件
 * @return
*/
public static boolean generateImage(String imgStr, String path) {
  if (imgStr == null)
    return false;
  BASE64Decoder decoder = new BASE64Decoder();
  try {
    // 解密
    byte[] b = decoder.decodeBuffer(imgStr);
    // 处理数据
    for (int i = 0; i < b.length; ++i) {
      if (b[i] < 0) {
        b[i] += 256;
      }
    }
    OutputStream out = new FileOutputStream(path);
    out.write(b);
    out.flush();
    out.close();
    return true;
  } catch (Exception e) {
    return false;
  }
}
Nach dem Login kopieren

Entschlüsselung hat natürlich auch Verschlüsselung. Das Folgende ist die Verschlüsselung:


/**
 * @Description: 根据图片地址转换为base64编码字符串
 * @Author: 
 * @CreateTime: 
 * @return
 */
public static String getImageStr(String imgFile) {
  InputStream inputStream = null;
  byte[] data = null;
  try {
    inputStream = new FileInputStream(imgFile);
    data = new byte[inputStream.available()];
    inputStream.read(data);
    inputStream.close();
  } catch (IOException e) {
    e.printStackTrace();
  }
  // 加密
  BASE64Encoder encoder = new BASE64Encoder();
  return encoder.encode(data);
}
Nach dem Login kopieren

Veröffentlichen Sie eine Testhauptfunktion


/**
 * 示例
 */
public static void main(String[] args) {
  String strImg = getImageStr("F:/86619-106.jpg");
  System.out.println(strImg);
  generateImage(strImg, "F:/86619-107.jpg");
}
Nach dem Login kopieren

Okay, nennen Sie es ein Tag.

Es ist jedoch zu beachten, dass die vom allgemeinen Plug-In zurückgegebene Base64-codierte Zeichenfolge ein Präfix hat.

"data:image/jpeg;base64", Dies muss vor der Dekodierung entfernt werden.

Das obige ist der detaillierte Inhalt vonBeispiele für Bildverarbeitung und Base64-Kodierungskonvertierung in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage