Androidの画像に色合い効果を適用する必要があります。ただし、色合い効果にはオレンジ色の色合いしかありません。誰かがこのタイプの効果をしたなら、私を助けてください。
色合い効果を検索して見つかったすべてのWebリンクを見ましたが、すべてのリンクとリソースがすべての色合いを適用しています。
シークバーの進行にこの効果を実装する必要があります。
前もって感謝します。
私はそれをしました、そしてここにコードがあります。これはシークバーの進行状況で行われ、画像に黄色の色合いの効果を生成します。
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);
}
});
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"/>