设置图片的透明度从左到右渐变
一、设置图片的透明度从左到右渐变
/*** 设置图片的透明度从左到右渐变,使右边缘平滑过渡(注意只跟着x坐标变)** @param num 范围为0-100,0为全透明,100为不透明*/public static Bitmap getTransAlphaBitmap(Bitmap sourceImg, float num) {if (sourceImg == null) {return null;}int width = sourceImg.getWidth();int height = sourceImg.getHeight();int[] bitArr = new int[width * height];sourceImg.getPixels(bitArr, 0, width, 0, 0, width, height);float number = num;int start = width / DEFAULT_PERCENT;float range = width - start;try {float step = (number * 1.0f) / range;for (int j = 0; j < height; j++) {number = num;for (int i = start + j * width; i < width * (j + 1); i++) {number = number - step;float alpha = number * ALPAH_FULL / NUMBER_FULL;bitArr[i] = ((int) alpha << DEFAULT_BIT) | (bitArr[i] & DEFAULT_ALPHA);}}return Bitmap.createBitmap(bitArr, width, height, Bitmap.Config.ARGB_8888);} catch (Throwable e) {return sourceImg;}}
二、设置图片的透明度从上到下渐变
/*** 设置图片的透明度从上到下渐变,使下边缘平滑过渡(注意只跟着Y坐标变)** @param sourceImg* @return*/public static Bitmap getTransAlphaBitmap(Bitmap sourceImg) {int[] argb = new int[sourceImg.getWidth() * sourceImg.getHeight()];sourceImg.getPixels(argb, 0, sourceImg.getWidth(), 0, 0, sourceImg.getWidth(), sourceImg.getHeight());// 获得图片的ARGB值//number的范围为0-100,0为全透明,100为不透明float number = 100;//透明度数值float alpha = number * 255 / 100;//图片渐变的范围(只设置图片一半范围由上到下渐变,上面不渐变,即接近边缘的那一半)float range = sourceImg.getHeight() / 2.0f;//透明度渐变梯度,每次随着Y坐标改变的量,因为最终在边缘处要变为0float pos = (number * 1.0f) / range;//循环开始的下标,设置从什么时候开始改变int start = sourceImg.getWidth() * (sourceImg.getHeight() - (int) range);for (int i = start; i < argb.length; i++) {//同一行alpha数值不改变,因为是随着Y坐标从上到下改变的if (i % sourceImg.getWidth() == 0) {number = number - pos;alpha = number * 255 / 100;}argb[i] = ((int) alpha << 24) | (argb[i] & 0x00FFFFFF);}sourceImg = Bitmap.createBitmap(argb, sourceImg.getWidth(), sourceImg.getHeight(), Bitmap.Config.ARGB_8888);return sourceImg;}
设置图片的透明度从左到右渐变相关推荐
- css设置图标居左_CSS text-align图片文字内容居左 居右 居中
CSS text-align之CSS居中(text-align:center).CSS内容居左(text-align:left).CSS文字居右(text-align:right)样式属性篇,图片.文 ...
- QImage 如何设置图片的透明度
最近遇到了一些这样的需求,在窗口可以调节显示图片的透明度,但是不能影响其他图片.一个窗口显示的图片并不是一张,而是多张通过绘制的形式叠加起来的.可以理解为类似图层. 就像下面这个组合一样,想法是在拖动 ...
- html怎么从左到右设置颜色,使用CSS从左到右填充文本颜色(Text colour fill from left to right using CSS)...
使用CSS从左到右填充文本颜色(Text colour fill from left to right using CSS) 我试图动画有".popUpWord"类的文本. 在悬停 ...
- css3实现字体从左到右渐变(原理与思路)
CSS3实现字体颜色渐变,这种需求经常有,写个例子跟还不会的小伙伴们分享下. 效果图: 先上代码, HTML: <view><h2 class="text-gradient ...
- 给TextView设置图片的两种实现方法
有时在开发过程中,我们会有在TextView中添加图片的需求(比如下图箭头所指文字中的表情).而在xml中对Textview进行属性设置时,只能设置图片在TextView的左.右.上.下四个位置,不能 ...
- 改变图片局部透明度,实现透明度根据位置不而渐变
最近在做项目的时候遇到了一个需求,那就是要对一张图片做处理,实现边缘模糊过渡. 苦思良久,最终用了以下的方法. 1.构成一张图片的是ARGB,我们可以直接把这整张图片的ARGB取出来,然后改变图片的A ...
- flash如何设置、调整、修改图片的透明度
突然我需要用flash做个动画,于是我简单学习了一下,发现很容易上手,但是在做动画期间有些问题并不像通常动画软件的解决方式,所以期间有些地方还是卡了一下进度,尤其是我需要做一张图片淡出效果的时候,居然 ...
- html如何让图片跟字体重叠,CSS设置图片与文字的间距
[实例介绍] CSS设置图片与文字的间距 希望图片本身与文字有一定的距离只需要给标记添加margin属性即可.margin属性包括margin.top.margin-right,margin-bott ...
- 怎么让图片从左往右移动php,javascript - 想让图片上那个块,在增加块的宽度的时候向右边移动,而不是向左边移动。需要怎么解决?...
javascript - 想让图片上那个块,在增加块的宽度的时候向右边移动,而不是向左边移动.需要怎么解决? 滿天的星座2017-07-05 10:39:20 0 2 212 * { marg ...
- html 设置图片左对齐,CSS设置图片的对齐
CSS设置图片的对齐 横向对齐方式 图片的水平对齐方式和文字的水平对齐方式基本相同,分别是左.中.右三种方式,不同的是,图片的水平对齐通常不能直接通过设置图片的text-align属性设置,而是,通过 ...
最新文章
- 缺陷大扫除(Bug Bash)
- collections模块
- oracle的释放机制,Oracle连接数过多释放机制
- boost::ratio_multiply相关的测试程序
- Spring Cloud Config Server
- 【嵌入式设计】嵌入式低功耗设计
- 扫地机器人开机充电还是关机充电器_新手机是开机充电好,还是关机充电好,老司机告诉你...
- windows环境下kafka源代码开发环境搭建
- cad中lisp文件给恶作剧_AutoCAD小秘密062:紧急插播,关于LISP的病毒防治
- linux的ib网卡驱动安装,linux安装IB网卡(mellanox)驱动
- c语言编写英雄联盟,怎么用C#或者C语言注册 英雄联盟 热键
- 机器人 陆梅东_第十八届全国中小学组电脑制作活动上海赛区.DOC
- IDEA 启动本地 Flink Web UI
- Flutter 清除应用缓存
- PHP绿色版 官网下载+安装(win7)
- 导数卷积 牛客 NTT
- Android双屏异显以及原理分析
- 企业管理者谦虚_为什么谦虚是优秀开发者最重要的特征
- 十月的秋风还没有来到...
- lnmp搭建qq农场