柔化效果

//柔化效果
public static Bitmap changeToSoftness(Bitmap bitmap){
int width = bitmap.getWidth();
int height = bitmap.getHeight();
int dst[] = new int[width*height];
bitmap.getPixels(dst, 0, width, 0, 0, width, height);

int R, G, B, pixel;
int pos, pixColor;
for(int y=0; y<height; y++){
for(int x=0; x<width; x++){
pos = y*width + x;
pixColor = dst[pos];
R = Color.red(pixColor); //(color >> 16) & 0xFF
G = Color.green(pixColor); //(color >> 8) & 0xFF;
B = Color.blue(pixColor); //color & 0xFF
pixel = 255 - (255-R)*(255-R)/255;
if (pixel < 0)
pixel = -pixel;
pixel = pixel * R / 256;
if (pixel > 255)
pixel = 255;
R = pixel;

pixel = 255 - (255-G)*(255-G)/255;
if (pixel < 0)
pixel = -pixel;
pixel = pixel * R / 256;
if (pixel > 255)
pixel = 255;
G = pixel;

pixel = 255 - (255-B)*(255-B)/255;
if (pixel < 0)
pixel = -pixel;
pixel = pixel * G / 256;
if (pixel > 255)
pixel = 255;
B = pixel;

dst[pos] = Color.rgb(R, G, B);
}
}
Bitmap processBitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888);
processBitmap.setPixels(dst, 0, width, 0, 0, width, height);

return processBitmap;
}

柔化效果,布布扣,bubuko.com

时间: 2024-10-18 20:53:17

柔化效果的相关文章

图像处理---平滑处理(柔化效果)

转自:图像处理:柔化(平滑)处理 1.效果图:  2.算法说明:         柔化(平滑)处理是将原图像的每个像素的颜色值用与其相邻的n*n个像素的平均值来代替,         可利用算术平均值或加权平均值来计算.         例如3*3的点阵,设源图像某像素的值为f(i,j): f(i-1,j-1) f(i-1,j) f(i-1,j+1) f(i,j-1) f(i,j) f(i,j+1) f(i+1,j-1) f(i+1,j) f(i+1,j+1) 3.实现代码: 1        

ImageView 各种工具类

package imageUtil; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import android.content.Context; import android.graphics.Bitmap; import android.grap

C# (GDI+相关) 图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)

原文:C# (GDI+相关) 图像处理(各种旋转.改变大小.柔化.锐化.雾化.底片.浮雕.黑白.滤镜效果) C#图像处理   (各种旋转.改变大小.柔化.锐化.雾化.底片.浮雕.黑白.滤镜效果)     一.各种旋转.改变大小   注意:先要添加画图相关的using引用.   //向右旋转图像90°代码如下: private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) {   Graphics g

C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)

C#图像处理(各种旋转.改变大小.柔化.锐化.雾化.底片.浮雕.黑白.滤镜效果) 标签: c#图像处理gdi 2014-08-14 09:09 441人阅读 评论(0) 收藏 举报 本文章已收录于: .NET知识库 分类: C#(78) 作者同类文章X 一.各种旋转.改变大小 注意:先要添加画图相关的using引用. [csharp] view plain copy print? //向右旋转图像90°代码如下: private void Form1_Paint(object sender, S

转 C#图像处理(各种旋转、改变大小、柔化、锐化、雾化、底片、浮雕、黑白、滤镜效果)

C#图像处理 (各种旋转.改变大小.柔化.锐化.雾化.底片.浮雕.黑白.滤镜效果) 一.各种旋转.改变大小 注意:先要添加画图相关的using引用. //向右旋转图像90°代码如下: private void Form1_Paint(object sender, System.Windows.Forms.PaintEventArgs e) { Graphics g = e.Graphics; Bitmap bmp = new Bitmap("rama.jpg");//加载图像 g.Fi

简单图片处理

? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86

【转】一、android图片特效处理之模糊效果

这篇将讲到图片特效处理的模糊效果.跟前面一样是对像素点进行处理,算法是通用的,但耗时会更长,至于为什么,看了下面的代码你就会明白. 算法: 一.简单算法:将像素点周围八个点包括自身一共九个点的RGB值分别相加后平均,作为当前像素点的RGB值,即可实现效果. 举例: ABC DEF GHI 假如当前点是E,那么会有: E.r = (A.r + B.r + C.r + D.r + E.r + F.r + G.r + H.r + I.r) / 9 // r表示的是E像素点RGB值的R值 E像素点的GB

Unity图片处理类,包括压缩、截屏和滤镜

先上代码: 1 using System.Threading; 2 using UnityEngine; 3 using System.IO; 4 using System.Collections; 5 6 public class TextureUtility 7 { 8 public class ThreadData 9 { 10 public int start; 11 public int end; 12 public ThreadData (int s, int e) { 13 sta

android图片特效处理之模糊效果

这篇将讲到图片特效处理的模糊效果.跟前面一样是对像素点进行处理,算法是通用的,但耗时会更长,至于为什么,看了下面的代码你就会明白. 算法: 一.简单算法:将像素点周围八个点包括自身一共九个点的RGB值分别相加后平均,作为当前像素点的RGB值,即可实现效果. 举例: ABC DEF GHI 假如当前点是E,那么会有: E.r = (A.r + B.r + C.r + D.r + E.r + F.r + G.r + H.r + I.r) /9 // r表示的是E像素点RGB值的R值 E.r = (A