LibYuv-AndroidYUV 轉(zhuǎn)換工具庫(kù)
LibYuv 是基于Google的libyuv編譯封裝的YUV轉(zhuǎn)換工具庫(kù),主要用途是在各種YUV與RGB之間進(jìn)行相互轉(zhuǎn)換、裁減、旋轉(zhuǎn)、縮放、鏡像等。
Gif 展示
你也可以直接下載 演示App 體驗(yàn)效果
使用
使用概要
LibYuv中的功能方法主要包括:格式轉(zhuǎn)換、裁減、旋轉(zhuǎn)、縮放、鏡像等;下面就以文檔注釋的形式對(duì)一些主要的方法做個(gè)簡(jiǎn)要說(shuō)明。
格式轉(zhuǎn)換
/** * 將Image轉(zhuǎn)換為I420 * * @param image 圖像;{@link Image} * @param degrees 需要旋轉(zhuǎn)的角度 * @return 返回I420數(shù)據(jù) */ LibYuv.imageToI420(image, degrees)
/** * NV21轉(zhuǎn)I420 * * @param nv21Data 源NV21數(shù)據(jù) * @param width 圖像寬度 * @param height 圖像高度 * @return 返回I420數(shù)據(jù) */ LibYuv.nv21ToI420(nv21Data, width, height)
/** * I420轉(zhuǎn)NV21 * * @param i420Data 源I420數(shù)據(jù) * @param width 圖像寬度 * @param height 圖像高度 * @return 返回NV21數(shù)據(jù) */ LibYuv.i420ToNv21(i420Data, width, height)
通用格式轉(zhuǎn)換(各種YUV與RGB之間相互轉(zhuǎn)換)
/** * 將I420數(shù)據(jù)轉(zhuǎn)換為指定格式的數(shù)據(jù) * * @param i420Data 源I420數(shù)據(jù) * @param width 圖像寬度 * @param height 圖像高度 * @param fourcc 指定數(shù)據(jù)格式;{@link FourCC} * @return 返回轉(zhuǎn)換成指定格式后的數(shù)據(jù) */ LibYuv.convertFromI420(i420Data, width, height, fourcc)
/** * 將指定格式的數(shù)據(jù)轉(zhuǎn)換為I420數(shù)據(jù) * * @param srcData 源數(shù)據(jù) * @param width 圖像寬度 * @param height 圖像高度 * @param fourcc 指定數(shù)據(jù)格式;{@link FourCC} * @return 返回I420數(shù)據(jù) */ LibYuv.convertToI420(dstData, width, height, fourcc)
旋轉(zhuǎn)
/** * 將指定格式的數(shù)據(jù)進(jìn)行旋轉(zhuǎn) * * @param srcData 源數(shù)據(jù) * @param width 圖像寬度 * @param height 圖像高度 * @param degrees 需要旋轉(zhuǎn)的角度;{@link RotationMode} * @param fourcc 指定數(shù)據(jù)格式;{@link FourCC} * @return 返回旋轉(zhuǎn)后的數(shù)據(jù) */ LibYuv.rotate(srcData, width, height, degrees, fourcc)
縮放
/** * 將指定格式的數(shù)據(jù)進(jìn)行縮放 * * @param srcData 源數(shù)據(jù) * @param width 圖像寬度 * @param height 圖像高度 * @param dstWidth 目標(biāo)寬 * @param dstHeight 目標(biāo)高 * @param fourcc 指定數(shù)據(jù)格式;{@link FourCC} * @param filterMode 壓縮過(guò)濾模式;{@link FilterMode} * @return 返回縮放后的數(shù)據(jù) */ LibYuv.scale(srcData, width, height, dstWidth, dstHeight, fourcc, filterMode)
裁減
/** * 將指定格式的數(shù)據(jù)進(jìn)行裁減 * * @param srcData 源數(shù)據(jù) * @param width 圖像寬度 * @param height 圖像高度 * @param cropRect 裁減的矩形區(qū)域 * @param fourcc 指定數(shù)據(jù)格式;{@link FourCC} * @return 返回裁減后的數(shù)據(jù) */ LibYuv.crop(srcData, width, height, cropRect, fourcc)
鏡像
/** * 將指定格式的數(shù)據(jù)進(jìn)行鏡像翻轉(zhuǎn) * * @param srcData 源數(shù)據(jù) * @param width 圖像寬度 * @param height 圖像高度 * @param fourcc 指定數(shù)據(jù)格式;{@link FourCC} * @return 返回鏡像翻轉(zhuǎn)后的數(shù)據(jù) */ LibYuv.mirror(srcData, width, height, fourcc)
更多使用詳情,請(qǐng)查看app中的源碼使用示例或直接查看 API幫助文檔
評(píng)論
圖片
表情
