Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/185.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android中的色彩效应_Android_Image_Tint - Fatal编程技术网

Android中的色彩效应

Android中的色彩效应,android,image,tint,Android,Image,Tint,我需要对Android中的图像应用着色效果。但着色效果将只具有橙色着色。如果有人做过这种效果,请帮助我 我已经看到了通过搜索“色调效果”找到的所有web链接,但是所有的链接和资源都应用了所有颜色的色调 我需要在seekbar进程中实现此效果 提前谢谢。我已经完成了,下面是代码。它在seekbar进程上完成,并在图像上产生黄色色调效果 skTint.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { @Overri

我需要对Android中的图像应用着色效果。但着色效果将只具有橙色着色。如果有人做过这种效果,请帮助我

我已经看到了通过搜索“色调效果”找到的所有web链接,但是所有的链接和资源都应用了所有颜色的色调

我需要在seekbar进程中实现此效果


提前谢谢。

我已经完成了,下面是代码。它在seekbar进程上完成,并在图像上产生黄色色调效果

skTint.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {

        @Override
        public void onStopTrackingTouch(SeekBar arg0) {
        }

        @Override
        public void onStartTrackingTouch(SeekBar arg0) {
        }

        @Override
        public void onProgressChanged(SeekBar arg0, int progress,
                boolean arg2) {
            skTint.setProgress(progress);
            String hex = Integer
                    .toHexString((progress - 255 < 0 ? (progress - 255)
                            * -1 : (progress - 255)));
            hex = (hex.length() == 1 ? "0" + hex : hex);
            hex = (hex.length() > 2 ? hex.substring(0, 1) : hex);

            String g_factor = Integer
                    .toHexString((int) (255 - (progress / 3)));
            g_factor = (g_factor.length() == 1 ? "0" + g_factor : g_factor);

            String colorcode = "#FFFF" + g_factor + hex;

            Bitmap alteredBitmap = Bitmap.createBitmap(
                    resized_bitmap.getWidth(), resized_bitmap.getHeight(),
                    resized_bitmap.getConfig());
            Canvas canvas = new Canvas(alteredBitmap);
            Paint paint = new Paint();
            ColorFilter cf = new PorterDuffColorFilter(Color
                    .parseColor(colorcode), Mode.MULTIPLY);
            paint.setColorFilter(cf);
            Matrix matrix = new Matrix();
            canvas.drawBitmap(resized_bitmap, matrix, paint);
            imgeffect.setImageBitmap(alteredBitmap);
        }
    });
skTint.setOnSeekbarchaneListener(新的OnSeekbarchaneListener(){
@凌驾
TopTrackingTouch上的公共无效(请参见kbar arg0){
}
@凌驾
开始跟踪触摸时的公共无效(请参见kbar arg0){
}
@凌驾
已更改的公共进程无效(请参见kbar arg0,int progress,
布尔值(arg2){
skTint.setProgress(进度);
字符串十六进制=整数
.toHexString((进度-255<0?(进度-255)
*-1:(进展-255));
十六进制=(十六进制长度()==1?“0”+十六进制:十六进制);
十六进制=(十六进制长度()>2?十六进制子字符串(0,1):十六进制);
字符串g_因子=整数
.toHexString((int)(255-(progress/3));
g_因子=(g_因子.length()=1?“0”+g_因子:g_因子);
字符串colorcode=“#FFFF”+g#U因子+十六进制;
位图替换位图=位图.createBitmap(
已调整大小的\u位图.getWidth(),已调整大小的\u位图.getHeight(),
已调整大小的_bitmap.getConfig());
Canvas Canvas=新画布(alteredBitmap);
油漆=新油漆();
ColorFilter cf=新的PorterDuffColorFilter(颜色
.parseColor(颜色代码),Mode.MULTIPLY);
油漆。设置颜色过滤器(cf);
矩阵=新矩阵();
画布.绘制位图(调整大小的位图、矩阵、绘制);
imgeffect.setImageBitmap(alteredBitmap);
}
});

SeekBar
默认情况下使用应用程序的
R.attr.colorAccent
主题属性作为小部件的着色颜色。要更改小部件的强调色,可以使用主题覆盖,如下所示:

<style name="SeekBarLightTheme" parent="ThemeOverlay.AppCompat.Light">
    <item name="colorAccent">@color/seek_bar_color</item>
</style>

@颜色/搜索条颜色
然后在布局XML中:

<SeekBar
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    ...
    android:theme="@style/SeekBarLightTheme"/>


ApiDemos示例项目如何?如果搜索“如何在Android上为图像着色”,您将知道Android的ImageView已经内置了着色支持。tint=“#ffffff 00”。学习搜索,对我们两个来说都更快更好。嗨,我知道这个属性,我需要在seekbar上做同样的事情。就像seekbar的进展一样,我需要应用渐变色。现在让我知道你的反应。我已经看过api演示,但我需要在seekbar上做同样的事情。就像seekbar的进度一样,我需要应用渐变色。这是非常低效的。请不要这样做。请查看下面我的答案。