Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在android中的setpixels之后,图像中的边缘不平滑大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用getpixels()和setpixels()api.从Bitmap使用getpixel api获取逐个像素并进行一些修改并设置像素,对循环中的所有像素执行此操作.我可以看到所有像素无法找到原因的相同alpha值.
请提出解决方案.

int width,height;
           height = bmpOriginal.getHeight();
           width = bmpOriginal.getWidth(); 

            int[] pix = new int[width * height];
            bmpOriginal.getPixels(pix,width,height);



            int R,G,B,A; 


            float[] hsv = new float[3];
            float[] hsv2 = new float[3];
            float[] hsv3 = new float[3];



            for (int y = 0; y < height; y++){
            for (int x = 0; x < width; x++)
            {
                int index = y * width + x;
                R = (pix[index] >> 16) & 0xff;     //bitwise shifTing
                G = (pix[index] >> 8) & 0xff;
                B = pix[index] & 0xff;            


                Color.RGBToHSV(R,hsv);                   

                int value = tempBitmap.getPixel(x,y);


               Color.colorToHSV(value,hsv2);                           

                int x = Color.HSVToColor(hsv3);
                pix[index] = x;


                }

            }  

            bmpOriginal.setPixels(pix,height);

解决方法

在paint对象上使用setAntiAlias(true)api打开反锯齿.
还可以在paint上尝试setFilterBitmap(true).

从位图中创建一个BitmapDrawable.然后,@L_41_5@mBmpdrawable.setAntiAlias(true);在使用它之前.也可以尝试@L_41_5@mBmpdrawable.setFilterBitmap(true)

大佬总结

以上是大佬教程为你收集整理的在android中的setpixels之后,图像中的边缘不平滑全部内容,希望文章能够帮你解决在android中的setpixels之后,图像中的边缘不平滑所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。