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

Beispiele für Bildverarbeitung und Base64-Kodierungskonvertierung in Java

黄舟
黄舟Original
2017-08-13 09:36:061536Durchsuche

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;
  }
}

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);
}

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");
}

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!

Stellungnahme:
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