日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

设置图片的透明度从左到右渐变

發布時間:2023/12/20 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 设置图片的透明度从左到右渐变 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

一、設置圖片的透明度從左到右漸變

/*** 設置圖片的透明度從左到右漸變,使右邊緣平滑過渡(注意只跟著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;}

總結

以上是生活随笔為你收集整理的设置图片的透明度从左到右渐变的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。