`

图片转换

 
阅读更多

【图片转换成圆角】

    /**
     * @param bitmap
     * @return
     * @description 转换圆角
     */
    public static Bitmap getRoundedCornerBitmap(Bitmap bitmap) {
        Bitmap output = null;
        try {
            output = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(),
                    Config.ARGB_8888);
            Canvas canvas = new Canvas(output);

            // 将画布的四角圆化
            final int color = Color.RED;
            final Paint paint = new Paint();
            final Rect rect = new Rect(0, 0, bitmap.getWidth(),
                    bitmap.getHeight());
            final RectF rectF = new RectF(rect);
            // 值越大角度越明显
            final float roundPx = 8;

            paint.setAntiAlias(true);
            canvas.drawARGB(0, 0, 0, 0);
            paint.setColor(color);
            canvas.drawRoundRect(rectF, roundPx, roundPx, paint);

            paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
            canvas.drawBitmap(bitmap, rect, rect, paint);
        } catch (OutOfMemoryError e) {
            if (null != output && !output.isRecycled()) {
                output.recycle();
                output = null;
            }
            e.printStackTrace();
        }
        return output;
    }

 

【其它地方找的】

package com.android.tutor;
import android.graphics.Bitmap;
import android.graphics.Canvas;
import android.graphics.LinearGradient;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.graphics.PixelFormat;
import android.graphics.PorterDuffXfermode;
import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.Bitmap.Config;
import android.graphics.PorterDuff.Mode;
import android.graphics.Shader.TileMode;
import android.graphics.drawable.Drawable;
public class ImageUtil {
   
    //放大缩小图片
    public static Bitmap zoomBitmap(Bitmap bitmap,int w,int h){
        int width = bitmap.getWidth();
        int height = bitmap.getHeight();
        Matrix matrix = new Matrix();
        float scaleWidht = ((float)w / width);
        float scaleHeight = ((float)h / height);
        matrix.postScale(scaleWidht, scaleHeight);
        Bitmap newbmp = Bitmap.createBitmap(bitmap, 0, 0, width, height, matrix, true);
        return newbmp;
    }
    //将Drawable转化为Bitmap
     public static Bitmap drawableToBitmap(Drawable drawable){
            int width = drawable.getIntrinsicWidth();
            int height = drawable.getIntrinsicHeight();
            Bitmap bitmap = Bitmap.createBitmap(width, height,
                    drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888
                            : Bitmap.Config.RGB_565);
            Canvas canvas = new Canvas(bitmap);
            drawable.setBounds(0,0,width,height);
            drawable.draw(canvas);
            return bitmap;
           
        }
     
     //获得圆角图片的方法
    public static Bitmap getRoundedCornerBitmap(Bitmap bitmap,float roundPx){
       
        Bitmap output = Bitmap.createBitmap(bitmap.getWidth(), bitmap
                .getHeight(), Config.ARGB_8888);
        Canvas canvas = new Canvas(output);
 
        final int color = 0xff424242;
        final Paint paint = new Paint();
        final Rect rect = new Rect(0, 0, bitmap.getWidth(), bitmap.getHeight());
        final RectF rectF = new RectF(rect);
 
        paint.setAntiAlias(true);
        canvas.drawARGB(0, 0, 0, 0);
        paint.setColor(color);
        canvas.drawRoundRect(rectF, roundPx, roundPx, paint);
 
        paint.setXfermode(new PorterDuffXfermode(Mode.SRC_IN));
        canvas.drawBitmap(bitmap, rect, rect, paint);
 
        return output;
    }
    //获得带倒影的图片方法
    public static Bitmap createReflectionImageWithOrigin(Bitmap bitmap){
        final int reflectionGap = 4;
        int width = bitmap.getWidth();
        int height = bitmap.getHeight();
       
        Matrix matrix = new Matrix();
        matrix.preScale(1, -1);
       
        Bitmap reflectionImage = Bitmap.createBitmap(bitmap,
                0, height/2, width, height/2, matrix, false);
       
        Bitmap bitmapWithReflection = Bitmap.createBitmap(width, (height + height/2), Config.ARGB_8888);
       
        Canvas canvas = new Canvas(bitmapWithReflection);
        canvas.drawBitmap(bitmap, 0, 0, null);
        Paint deafalutPaint = new Paint();
        canvas.drawRect(0, height,width,height + reflectionGap,
                deafalutPaint);
       
        canvas.drawBitmap(reflectionImage, 0, height + reflectionGap, null);
       
        Paint paint = new Paint();
        LinearGradient shader = new LinearGradient(0,
                bitmap.getHeight(), 0, bitmapWithReflection.getHeight()
                + reflectionGap, 0x70ffffff, 0x00ffffff, TileMode.CLAMP);
        paint.setShader(shader);
        // Set the Transfer mode to be porter duff and destination in
        paint.setXfermode(new PorterDuffXfermode(Mode.DST_IN));
        // Draw a rectangle using the paint with our linear gradient
        canvas.drawRect(0, height, width, bitmapWithReflection.getHeight()
                + reflectionGap, paint);
 
        return bitmapWithReflection;
    }
   
}

分享到:
评论

相关推荐

    LVGL图片转换工具图片转换工具

    LVGL图片转换工具是一款专为LVGL框架设计的实用软件,它使得开发者能够方便地将普通图像文件转换成LVGL可以识别的C语言源代码文件。这个工具采用图形化用户界面,提供直观的操作流程,无论是单个图片还是整个文件夹...

    天子图片转换器

    【天子图片转换器】是一款高效实用的图片处理软件,专为用户提供了便捷的图片格式转换功能。这款软件设计简洁,操作易上手,能够支持众多的图片格式转换,极大地满足了用户在日常工作和生活中对图片格式转换的需求。...

    能将多种格式的图片转换成ICO的图标转换工具

    标题中的“能将多种格式的图片转换成ICO的图标转换工具”表明这是一款软件应用,其主要功能是处理图像文件,将它们转化为ICO图标格式。ICO图标是Windows操作系统中用于程序、文件或文件夹的图标文件格式,它可以包含...

    dll格式图片转换器

    【DLL格式图片转换器】是一款高效实用的图像处理工具,主要功能是将各种图像格式转换为DLL(动态链接库)格式。DLL格式在Windows操作系统中广泛使用,它是一种可执行文件,可以被多个程序共享,以减少内存占用和提高...

    图片转换器 v4.2.1

    支持各种图片格式:BMP、JPEG、PNG、TIF、GIF、PSD、ICO、PDF等,支持ICO透明色转换,支持GIF动态图片转换;更改图片的颜色、画质、亮度、对比度、DPI等;按照比例或自定的数值调整图片的尺寸、旋转图片;添加自定义...

    方便快捷图片转换器

    在IT领域,图片转换工具是日常工作中不可或缺的一部分,尤其对于设计者、摄影师或者需要处理大量图像的用户来说。"方便快捷图片转换器"正如其名,是一款旨在简化和加速图片格式转换过程的软件。它允许用户批量处理...

    图片转换icon图标小工具

    《图片转换icon图标小工具详解》 在计算机领域,图标(Icon)是用户界面中不可或缺的元素,它们简洁明了地代表了各种功能或应用程序。本文将深入探讨一款名为“图片转换icon图标小工具”的实用程序,该工具专门用于...

    DDS图片转换编辑工具-DXTBmp

    支持WIN11,并且为免费软件,可以将常规图片转换为DDS也可以反向转换,可以快速编辑DDS文件,支持有3种DXTC的格式可供使用,分别是DXT1,DXT3和DXT5。DXTBmp官方版界面简洁,操作简便,其中DXT1 压缩比例:1:8 压缩...

    TFT液晶显示彩色图片转换工具bmp

    本主题主要关注如何将BMP(Bitmap)格式的图片转换并成功在TFT液晶屏幕上显示。 BMP是Windows操作系统中常见的位图文件格式,它存储了图像的像素数据和颜色信息。然而,TFT液晶显示器通常需要特定的图像数据格式,...

    万能图片转换器

    "万能图片转换器"是一款强大的图像处理工具,其核心功能是将图片转换为不同的文件格式,以满足用户在各种应用场景中的需求。该软件支持多种图片格式,包括但不限于常见的JPG、PNG、BMP、GIF、TIFF等,甚至可能还包括...

    HEIC图片转换器V1.2.3免费安装版

    Heic图片转换器是一个用于转换Heic格式图片工具,Heic图片转换器最新版可以将Heic格式图片转jpg图片格式。使用本款Heic图片转换器应用后,可直接将Heic转换jpeg格式,以便大家在看图应用中查看图片了。 苹果发布iOS...

    图片转换为数据工具(img2lcd)

    【Img2lcd】是一款强大的图片转换工具,专用于将各种图像格式如bmp、jpg、gif、ico、emf、wmf、wbmp等转化为适用于LCD(液晶显示器)的数据格式。这款工具不仅支持多种图片格式的输入,还具备丰富的输出色彩模式,...

    C#实现把图片转换成二进制以及把二进制转换成图片的方法示例

    本文实例讲述了C#实现把图片转换成二进制以及把二进制转换成图片的方法。分享给大家供大家参考,具体如下: private void button1_Click(object sender, EventArgs e) { string path = this.textBox1.Text; byte...

    C语言ImageConverter565图片转换

    在“C语言ImageConverter565图片转换”这个主题中,我们主要探讨的是如何利用C语言来处理图像数据,特别是将图像数据转换为565格式,这是一种常见的16位颜色格式,广泛应用于嵌入式系统和图形显示。 565格式是一种...

    图片转换工具带注册码(好用)

    好用的图片转换工具,可以进行多种格式的转换,设定转换图片的像素,图片命名,可批量转换,好实用的工具。操作简单,中文破解版。

    java实现图片转换为视频

    在IT行业中,将图片转换为视频是一项常见的任务,特别是在多媒体处理、动画制作或者数据可视化等领域。Java作为一种跨平台的编程语言,提供了丰富的库和API来处理这类任务。本篇文章将详细探讨如何使用Java实现图片...

    LCD彩色图片转换工具

    LCD彩色图片转换工具是一款专为嵌入式系统设计的应用程序,它能够帮助开发者将普通的RGB彩色图片转换成适合LCD显示屏使用的二进制数据格式。在嵌入式领域,特别是那些资源有限的微控制器(MCU)系统中,直接处理全彩...

    C#把图片转换成数据流存入数据库中再读出来变成图片

    在C#编程中,将图片转换为数据流并存储到SQL Server数据库中,以及从数据库中读取数据流再恢复为图片,是一项常见的任务。这通常用于存储用户头像、产品图片等,节省磁盘空间并提高数据传输效率。下面我们将详细讲解...

    文本图片转换器1.0免费绿色版

    很多时候我们总想这文本与图片的转换,其实文本图片转换器的出现,就已经彻底的改变我们的想法,因为他不但能够支持图片转换成各种格式,而且还操作起来相当的简单,让我们感觉像神一样的存在! 文本图片转换器...

    jpg图片转换成十六进制字符文件

    标题中的“jpg图片转换成十六进制字符文件”是指一种技术操作,即将JPEG格式的图片文件转换成由十六进制数字组成的文本文件。这种转换在编程和数据处理中很有用,因为图片本质上是由二进制数据构成的,而十六进制是...

Global site tag (gtag.js) - Google Analytics