91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android程序如何在代碼中改變圖片原有的顏色

發布時間:2020-03-26 20:36:36 來源:網絡 閱讀:5738 作者:拾荒者老大 欄目:移動開發

    最近一邊找工作一邊完善之前的項目。之前安卓初中級的項目是模仿酷狗音樂播放器的。下載一個apk文件,改后綴,解壓,然后根據官方應用的布局,用得到的圖片照著做出來。記得酷狗首頁有好幾種主要圖標,解壓后得到的白色加透明組合成的,但官方應用是換主題顏色會跟著改變,這回正好有空就網上找來方法跟著改。

Android程序如何在代碼中改變圖片原有的顏色

Android程序如何在代碼中改變圖片原有的顏色

    因為只是把白色改成別的顏色,所以不難。

package com.example.ex_tupian;

import android.app.Activity;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.ColorMatrix;
import android.graphics.ColorMatrixColorFilter;
import android.graphics.Matrix;
import android.graphics.Paint;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;

public class MainActivity extends Activity {
	private ImageView ma;
	 private Bitmap bitmap, updateBitmap;  
	   private Canvas canvas;  
	    private Paint paint;  
	    
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		ma = (ImageView) findViewById(R.id.p_w_picpathView00);
		bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.d1);  
        updateBitmap = Bitmap.createBitmap(bitmap.getWidth(),  
                bitmap.getHeight(), bitmap.getConfig());  
        canvas = new Canvas(updateBitmap);  
        paint = new Paint(Paint.ANTI_ALIAS_FLAG);//抗鋸齒的畫筆  
        final ColorMatrix cm = new ColorMatrix();  
        paint.setColorFilter(new ColorMatrixColorFilter(cm));  
        paint.setColor(Color.BLACK);  
        paint.setAntiAlias(true);  
        final Matrix matrix = new Matrix();  
        canvas.drawBitmap(bitmap, matrix, paint);  
        ma.setImageBitmap(updateBitmap);  
		findViewById(R.id.button1).setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				// TODO Auto-generated method stub
				cm.set(new float[] { 160 / 128f, 0, 0, 0, 0,// 紅色值  
                        0, 32 / 128f, 0, 0, 0,// 綠色值  
                        0, 0, 240 / 128f, 0, 0,// 藍色值  
                        0, 0, 0, 1, 0 // 透明度  
                });  
                paint.setColorFilter(new ColorMatrixColorFilter(cm));  
                canvas.drawBitmap(bitmap, matrix, paint);  
                ma.setImageBitmap(updateBitmap);  
			}
		});
	}
}

主要就是這個在設置顏色

new float[] { 160 / 128f, 0, 0, 0, 0,// 紅色值                         

 0, 32 / 128f, 0, 0, 0,// 綠色值                         

 0, 0, 240 / 128f, 0, 0,// 藍色值                         

 0, 0, 0, 1, 0 // 透明度

}

這樣設置起來的是紫色的,這只是很簡單的轉換,能達到效果,如果需要更多的內容,可以參考這些網址或者自己搜索。

http://blog.csdn.net/loongggdroid/article/details/18708911

http://www.cnblogs.com/leon19870907/articles/1978065.html

然后一個就是因為平時都直接用8位十六進制設置顏色,這邊需要RGB,所以參考這個網址

http://blog.csdn.net/yanzi1225627/article/details/8581270


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

工布江达县| 白河县| 泸水县| 青岛市| 同江市| 鲁山县| 罗平县| 夏邑县| 巴塘县| 丰顺县| 南召县| 宿松县| 偏关县| 泽普县| 香格里拉县| 新化县| 二连浩特市| 大城县| 安阳市| 鹰潭市| 阳原县| 龙南县| 临湘市| 涟水县| 乐山市| 清苑县| 龙岩市| 高密市| 隆德县| 崇信县| 连山| 定兴县| 同德县| 龙井市| 湄潭县| 霍州市| 尤溪县| 远安县| 麻江县| 满城县| 万宁市|