From 9e50bb9df14e7cadf1ec114d33eb11aab3cf4290 Mon Sep 17 00:00:00 2001 From: xufulong <839789740@qq.com> Date: Thu, 14 May 2020 00:08:04 +0800 Subject: [PATCH] update text waterMark update text waterMark --- .../ffmpeg/activity/VideoHandleActivity.java | 5 +++-- .../com/frank/ffmpeg/util/BitmapUtil.java | 22 ++++++++++--------- 2 files changed, 15 insertions(+), 12 deletions(-) diff --git a/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.java b/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.java index ecbc642..8e4c97b 100644 --- a/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.java +++ b/app/src/main/java/com/frank/ffmpeg/activity/VideoHandleActivity.java @@ -1,6 +1,7 @@ package com.frank.ffmpeg.activity; import android.annotation.SuppressLint; +import android.graphics.Color; import android.media.MediaMetadataRetriever; import android.os.Bundle; import android.os.Environment; @@ -181,8 +182,8 @@ public class VideoHandleActivity extends BaseActivity { break; case TYPE_TEXT:// text String text = "Hello,FFmpeg"; - String textPath = PATH + File.separator + "text.jpg"; - boolean result = BitmapUtil.textToPicture(textPath, text); + String textPath = PATH + File.separator + "text.png"; + boolean result = BitmapUtil.textToPicture(textPath, text, Color.BLUE, 20); Log.i(TAG, "text to picture result=" + result); String textMark = PATH + File.separator + "textMark.mp4"; commandLine = FFmpegUtil.addWaterMarkImg(srcFile, textPath, location, bitRate, offsetXY, textMark); diff --git a/app/src/main/java/com/frank/ffmpeg/util/BitmapUtil.java b/app/src/main/java/com/frank/ffmpeg/util/BitmapUtil.java index 0ad30b5..6432dc6 100644 --- a/app/src/main/java/com/frank/ffmpeg/util/BitmapUtil.java +++ b/app/src/main/java/com/frank/ffmpeg/util/BitmapUtil.java @@ -1,10 +1,9 @@ package com.frank.ffmpeg.util; -import android.content.Context; import android.graphics.Bitmap; import android.graphics.Canvas; -import android.graphics.Color; import android.graphics.Paint; +import android.text.TextUtils; import java.io.File; import java.io.FileOutputStream; @@ -17,20 +16,20 @@ import java.io.IOException; public class BitmapUtil { - private final static int TEXT_SIZE = 16; - private final static int TEXT_COLOR = Color.RED; - /** * convert text to bitmap * * @param text text * @return bitmap of teh text */ - private static Bitmap textToBitmap(String text) { + private static Bitmap textToBitmap(String text, int textColor, int textSize) { + if (TextUtils.isEmpty(text) || textSize <= 0) { + return null; + } Paint paint = new Paint(); - paint.setTextSize(TEXT_SIZE); + paint.setTextSize(textSize); paint.setTextAlign(Paint.Align.LEFT); - paint.setColor(TEXT_COLOR); + paint.setColor(textColor); paint.setDither(true); paint.setAntiAlias(true); Paint.FontMetricsInt fm = paint.getFontMetricsInt(); @@ -51,8 +50,11 @@ public class BitmapUtil { * @param text text * @return result of generating picture */ - public static boolean textToPicture(String filePath, String text) { - Bitmap bitmap = textToBitmap(text); + public static boolean textToPicture(String filePath, String text, int textColor, int textSize) { + Bitmap bitmap = textToBitmap(text, textColor, textSize); + if (bitmap == null || TextUtils.isEmpty(filePath)) { + return false; + } FileOutputStream outputStream = null; try { outputStream = new FileOutputStream(filePath);