編輯:關於Android編程
一些圖像處理軟件如美圖,P圖,Prisma在處理圖像後都會給圖片加上水印。主要目的是為了從宣傳自己的產品,這個我是有切身體會的。
現在我們先來看看代碼:
/**
* 給圖片加水印
*
* @param src 原圖
* @param watermark 水印
* @return 加水印的原圖
*/
public static Bitmap WaterMask(Bitmap src, Bitmap watermark)
{
int w = src.getWidth();
int h = src.getHeight();
//根據bitmap縮放水印圖片
float w1 = w / 5;
float h1 = (float) (w1 / 2.782);
//獲取原始水印圖片的寬、高
int w2 = watermark.getWidth();
int h2 = watermark.getHeight();
//計算縮放的比例
float scalewidth = ((float) w1) / w2;
float scaleheight = ((float) h1) / h2;
Matrix matrix = new Matrix();
matrix.postScale(scalewidth, scaleheight);
watermark = Bitmap.createBitmap(watermark, 0, 0, w2, h2, matrix, true);
//獲取新的水印圖片的寬、高
w2 = watermark.getWidth();
h2 = watermark.getHeight();
Bitmap result = Bitmap.createBitmap(w, h, Bitmap.Config.ARGB_8888);// 創建一個新的和SRC長度寬度一樣的位圖
Canvas cv = new Canvas(result);
//在canvas上繪制原圖和新的水印圖
cv.drawBitmap(src, 0, 0, null);
//水印圖繪制在畫布的右下角
cv.drawBitmap(watermark, w - w2, h - h2, null);
cv.save(Canvas.ALL_SAVE_FLAG);
cv.restore();
return result;
}
這裡
//根據bitmap縮放水印圖片 float w1 = w / 5; float h1 = (float) (w1 / 2.782);是我的水印圖的寬高比例,設置水印圖的寬是原圖的1/5,顯示出來還是比較美觀的,不同的水印圖得比例可以自己調整。
然後看一下效果:

Android圖解淺析事件攔截機制
當Android系統捕獲到用戶的各種輸入事件後,如何准確的傳遞給真正的需要這個事件的控件?Android提供了一整套完善的事件傳遞、處理機制,來幫助開發者完成准確的事件分
Android衛星菜單的實現
衛星菜單可能網上已經有很多博文了,but,這裡僅記錄下自己的學習路程~剛看到自定義衛星菜單的時候真的是一臉懵逼,看完所有的源碼覺得還可以接受,自己寫難度較大,功力太薄嗚嗚
Android EventBus 3.0.0 使用總結
前言EventBus框架 EventBus是一個通用的叫法,例如Google出品的Guava,Guava是一個龐大的庫,EventBus只是它附帶的一個小功能,因此實際項
Android之PreferenceActivity應用詳解(2)
看到很多書中都沒有對PreferenceActivity做介紹,而我正好又在項目中用到,所以就把自己的使用的在這總結一下,也方便日後查找。 PerferenceActiv