【图片转换成圆角】
/**
* @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可以识别的C语言源代码文件。这个工具采用图形化用户界面,提供直观的操作流程,无论是单个图片还是整个文件夹...
【天子图片转换器】是一款高效实用的图片处理软件,专为用户提供了便捷的图片格式转换功能。这款软件设计简洁,操作易上手,能够支持众多的图片格式转换,极大地满足了用户在日常工作和生活中对图片格式转换的需求。...
标题中的“能将多种格式的图片转换成ICO的图标转换工具”表明这是一款软件应用,其主要功能是处理图像文件,将它们转化为ICO图标格式。ICO图标是Windows操作系统中用于程序、文件或文件夹的图标文件格式,它可以包含...
支持各种图片格式:BMP、JPEG、PNG、TIF、GIF、PSD、ICO、PDF等,支持ICO透明色转换,支持GIF动态图片转换;更改图片的颜色、画质、亮度、对比度、DPI等;按照比例或自定的数值调整图片的尺寸、旋转图片;添加自定义...
【DLL格式图片转换器】是一款高效实用的图像处理工具,主要功能是将各种图像格式转换为DLL(动态链接库)格式。DLL格式在Windows操作系统中广泛使用,它是一种可执行文件,可以被多个程序共享,以减少内存占用和提高...
在IT领域,图片转换工具是日常工作中不可或缺的一部分,尤其对于设计者、摄影师或者需要处理大量图像的用户来说。"方便快捷图片转换器"正如其名,是一款旨在简化和加速图片格式转换过程的软件。它允许用户批量处理...
《图片转换icon图标小工具详解》 在计算机领域,图标(Icon)是用户界面中不可或缺的元素,它们简洁明了地代表了各种功能或应用程序。本文将深入探讨一款名为“图片转换icon图标小工具”的实用程序,该工具专门用于...
本主题主要关注如何将BMP(Bitmap)格式的图片转换并成功在TFT液晶屏幕上显示。 BMP是Windows操作系统中常见的位图文件格式,它存储了图像的像素数据和颜色信息。然而,TFT液晶显示器通常需要特定的图像数据格式,...
支持WIN11,并且为免费软件,可以将常规图片转换为DDS也可以反向转换,可以快速编辑DDS文件,支持有3种DXTC的格式可供使用,分别是DXT1,DXT3和DXT5。DXTBmp官方版界面简洁,操作简便,其中DXT1 压缩比例:1:8 压缩...
"万能图片转换器"是一款强大的图像处理工具,其核心功能是将图片转换为不同的文件格式,以满足用户在各种应用场景中的需求。该软件支持多种图片格式,包括但不限于常见的JPG、PNG、BMP、GIF、TIFF等,甚至可能还包括...
Heic图片转换器是一个用于转换Heic格式图片工具,Heic图片转换器最新版可以将Heic格式图片转jpg图片格式。使用本款Heic图片转换器应用后,可直接将Heic转换jpeg格式,以便大家在看图应用中查看图片了。 苹果发布iOS...
本文实例讲述了C#实现把图片转换成二进制以及把二进制转换成图片的方法。分享给大家供大家参考,具体如下: private void button1_Click(object sender, EventArgs e) { string path = this.textBox1.Text; byte...
【Img2lcd】是一款强大的图片转换工具,专用于将各种图像格式如bmp、jpg、gif、ico、emf、wmf、wbmp等转化为适用于LCD(液晶显示器)的数据格式。这款工具不仅支持多种图片格式的输入,还具备丰富的输出色彩模式,...
好用的图片转换工具,可以进行多种格式的转换,设定转换图片的像素,图片命名,可批量转换,好实用的工具。操作简单,中文破解版。
在“C语言ImageConverter565图片转换”这个主题中,我们主要探讨的是如何利用C语言来处理图像数据,特别是将图像数据转换为565格式,这是一种常见的16位颜色格式,广泛应用于嵌入式系统和图形显示。 565格式是一种...
在IT行业中,将图片转换为视频是一项常见的任务,特别是在多媒体处理、动画制作或者数据可视化等领域。Java作为一种跨平台的编程语言,提供了丰富的库和API来处理这类任务。本篇文章将详细探讨如何使用Java实现图片...
LCD彩色图片转换工具是一款专为嵌入式系统设计的应用程序,它能够帮助开发者将普通的RGB彩色图片转换成适合LCD显示屏使用的二进制数据格式。在嵌入式领域,特别是那些资源有限的微控制器(MCU)系统中,直接处理全彩...
很多时候我们总想这文本与图片的转换,其实文本图片转换器的出现,就已经彻底的改变我们的想法,因为他不但能够支持图片转换成各种格式,而且还操作起来相当的简单,让我们感觉像神一样的存在! 文本图片转换器...
在C#编程中,将图片转换为数据流并存储到SQL Server数据库中,以及从数据库中读取数据流再恢复为图片,是一项常见的任务。这通常用于存储用户头像、产品图片等,节省磁盘空间并提高数据传输效率。下面我们将详细讲解...
在IT领域,图片转换工具是一种常见的实用程序,用于将图像文件格式从一种类型转换成另一种。在本案例中,我们关注的是一个特定的转换过程,即将图片文件转换为十六进制表示,这通常用于数据存储、编码或者在某些特定...