編輯:關於Android編程
說起水印其實很簡單,就是在一張圖片上面畫上另一張圖片或文字
實現如下:
package com.tang.watermark; import android.app.Activity; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.PixelFormat; import android.graphics.Bitmap.Config; import android.graphics.drawable.BitmapDrawable; import android.graphics.drawable.Drawable; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.ImageView; public class MainActivity extends Activity { ImageView imageView; Bitmap mark; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); imageView = (ImageView) findViewById(R.id.imageView1); imageView.setImageResource(R.drawable.heihei); mark = BitmapFactory.decodeResource(getResources(), R.drawable.ic_launcher); Button button = (Button) findViewById(R.id.button1); button.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub Bitmap temp = watermark(drawableToBitmap(imageView.getDrawable()),mark,50,100); imageView.setImageBitmap(temp); } }); } /** * 將bitmap轉換為Drawable * @param bitmap * @return */ public static Drawable bitmapToDrawable(Bitmap bitmap) { BitmapDrawable bd = new BitmapDrawable(bitmap); return bd; } /** * @param src * @param bg * @param color * @return */ public static Bitmap watermark(Bitmap src,Bitmap mark,int x,int y) { int w = src.getWidth(); int h = src.getHeight(); Bitmap newb = Bitmap.createBitmap( w, h, Config.ARGB_8888 ); Canvas cv = new Canvas(newb); cv.drawBitmap(src, 0, 0, null ); cv.drawBitmap(mark,x, y, null ); cv.save( Canvas.ALL_SAVE_FLAG );//保存 cv.restore();//存儲 return newb; } /** * Drawable 轉換為Bitmap * @param drawable * @return */ public static Bitmap drawableToBitmap(Drawable drawable) { // 取 drawable 的長寬 int w = drawable.getIntrinsicWidth(); int h = drawable.getIntrinsicHeight(); // 取 drawable 的顏色格式 Bitmap.Config config = drawable.getOpacity() != PixelFormat.OPAQUE ? Bitmap.Config.ARGB_8888 : Bitmap.Config.RGB_565; Bitmap bitmap = Bitmap.createBitmap(w, h, config); Canvas canvas = new Canvas(bitmap); drawable.setBounds(0, 0, w, h); drawable.draw(canvas); return bitmap; } }
前言 在前段時間,偶然參加了博客之星的評選,也偶然的進入到了鴻洋和任玉剛兩知名博主的開發群,感受到了很濃厚的技術探討氛圍,於是自己也冒出了寫一些系列博客的想
Android中圖案解鎖首先要理解圖案的實現原理,上一張圖: 由上圖,可以看出,圖案中手勢的記錄是1-9或0-8的,保存的順序就是密碼,當然有些是可以重復的,為了安全,
介紹有時候由於需要一些自定義之後的開源庫,無法使用jCenter裡面的官方庫,又懶得自己搭建Maven倉庫,所以我們想要自己在項目裡面直接導入本地的AAR庫。通用方法和問
先畫個圖,了解下Android下數據庫操作的簡單流程:1.首先,寫一個自己的數據庫操作幫助類,這個類繼承自Android自帶的SQLiteOpenHelper.2.在自己