Reflect3DImage.java 文件源码

java
阅读 44 收藏 0 点赞 0 评论 0

项目:IMKBaseFrameworkLibrary 作者:
/**
 * 3D效果
 * 
 * @param srcBitmap
 * @return
 */
public static Bitmap skewImage(Bitmap srcBitmap, int picWidth, int picHeight, int height) {
    srcBitmap = Bitmap.createScaledBitmap(srcBitmap, picWidth, picHeight, true);
    Bitmap bitmap = createReflectedImage(srcBitmap, height);
    Camera camera = new Camera();
    camera.save();
    Matrix matrix = new Matrix();
    camera.rotateY(15);
    camera.getMatrix(matrix);
    camera.restore();
    matrix.preTranslate(-bitmap.getWidth() >> 1, -bitmap.getHeight() >> 1);
    Bitmap newBitmap = Bitmap.createBitmap(bitmap, 0, 0, bitmap.getWidth(), bitmap.getHeight(), matrix, true);
    Bitmap canvasBitmap = Bitmap.createBitmap(newBitmap.getWidth(), newBitmap.getHeight(), Config.ARGB_8888);
    Canvas canvas = new Canvas(canvasBitmap);
    Paint paint = new Paint();
    paint.setAntiAlias(true);
    paint.setFilterBitmap(true);
    // paint.setStyle(Style.FILL);
    canvas.drawBitmap(newBitmap, 0, 0, paint);
    newBitmap.recycle();
    // bitmap.recycle();
    return canvasBitmap;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号