直播視訊app原始碼,將bitmap儲存為本地png圖片
阿新 • • 發佈:2021-01-06
技術標籤:技術類htmlcanvasjsbitmapandroid
直播視訊app原始碼,將bitmap儲存為本地png圖片相關的程式碼
BitmapUtils
package com.zhangyu.myopengl.utils;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.Log;
import java.io.FileOutputStream ;
import java.io.OutputStream;
public class BitmapUtils {
/**
* 文字生成圖片
* @param text
* @param textSize
* @param textColor
* @param bgColor
* @param padding
* @return
*/
public static Bitmap text2Bitmap(String text, int textSize, String textColor, String bgColor, int padding) {
Paint paint = new Paint();
paint.setColor(Color.parseColor(textColor));
paint.setTextSize(textSize);
paint.setStyle(Paint.Style.FILL);
paint.setAntiAlias(true);
float width = paint.measureText(text, 0, text.length());
float top = paint.getFontMetrics().top;
float bottom = paint.getFontMetrics().bottom;
Bitmap bm = Bitmap.createBitmap((int) (width + padding * 2), (int) ((bottom - top) + padding * 2), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bm);
canvas.drawColor(Color.parseColor(bgColor));
canvas.drawText(text, padding, - top + padding, paint);
return bm;
}
/**
* 將bitmap轉換為本地的圖片
*
* @param bitmap
* @return
*/
public static String bitmap2Path(Bitmap bitmap, String path) {
try {
OutputStream os = new FileOutputStream(path);
bitmap.compress(Bitmap.CompressFormat.PNG, 100, os);
os.flush();
os.close();
} catch (Exception e) {
Log.e("TAG", "", e);
}
return path;
}
}
Main
Bitmap bitmap = Bitmap.createBitmap(720, 1280, Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
canvas.drawColor(Color.GREEN);
paint.setColor(Color.WHITE);
paint.setTextSize(100);
Log.e(TAG, "onDrawFrame: frame=" + frame);
String text = "當前幀數:" + frame++;
drawTextWithCenterPoint(canvas, 720 / 2, 1280 / 2, text, paint);
canvas.drawText(text, 0, 100, paint);
//圖片儲存本地
String fileDir = Environment.getExternalStorageDirectory() + "/1/pic/";
String fileName = System.currentTimeMillis() + ".png";
String path = fileDir + fileName;
if (!new File(fileDir).exists()) {
new File(fileDir).mkdirs();
}
BitmapUtils.bitmap2Path(bitmap, path);
以上就是直播視訊app原始碼,將bitmap儲存為本地png圖片相關的程式碼, 更多內容歡迎關注之後的文章