亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

水印圖片處理

如果把水印加入圖片中到底怎么做 有誰貼一下這一塊的代碼 謝謝

正在回答

2 回答

private?class?PhotoTask?extends?Thread
????{
????????private?String?file;
????????private?boolean?isFinished;
????????public?PhotoTask(String?file)
????????{
????????????this.file?=?file;
????????}
????????
????????@Override
????????public?void?run()
????????{
????????????BufferedOutputStream?bos?=?null;
????????????Bitmap?icon?=?null;
????????????try
????????????{
????????????????BitmapFactory.Options?options?=?new?BitmapFactory.Options();
????????????????options.inJustDecodeBounds?=?true;
????????????????BitmapFactory.decodeFile(file,?options);?//此時返回bm為空
????????????????float?percent?=
????????????????????options.outHeight?>?options.outWidth???options.outHeight?/?960f?:?options.outWidth?/?960f;
????????????????
????????????????if?(percent?<?1)
????????????????{
????????????????????percent?=?1;
????????????????}
????????????????int?width?=?(int)(options.outWidth?/?percent);
????????????????int?height?=?(int)(options.outHeight?/?percent);
????????????????icon?=?Bitmap.createBitmap(width,?height,?Bitmap.Config.RGB_565);
????????????????
????????????????//初始化畫布?繪制的圖像到icon上??
????????????????Canvas?canvas?=?new?Canvas(icon);
????????????????//建立畫筆??
????????????????Paint?photoPaint?=?new?Paint();
????????????????//獲取跟清晰的圖像采樣??
????????????????photoPaint.setDither(true);
????????????????//過濾一些??
????????????????//????????????????????photoPaint.setFilterBitmap(true);
????????????????options.inJustDecodeBounds?=?false;
????????????????
????????????????Bitmap?prePhoto?=?BitmapFactory.decodeFile(file);
????????????????if?(percent?>?1)
????????????????{
????????????????????prePhoto?=?Bitmap.createScaledBitmap(prePhoto,?width,?height,?true);
????????????????}
????????????????
????????????????canvas.drawBitmap(prePhoto,?0,?0,?photoPaint);
????????????????
????????????????if?(prePhoto?!=?null?&&?!prePhoto.isRecycled())
????????????????{
????????????????????prePhoto.recycle();
????????????????????prePhoto?=?null;
????????????????????System.gc();
????????????????}
????????????????
????????????????//設置畫筆??
????????????????Paint?textPaint?=?new?Paint(Paint.ANTI_ALIAS_FLAG?|?Paint.DEV_KERN_TEXT_FLAG);
????????????????//字體大小??
????????????????textPaint.setTextSize(20.0f);
????????????????//采用默認的寬度??
????????????????textPaint.setTypeface(Typeface.DEFAULT);
????????????????//采用的顏色??
????????????????textPaint.setColor(Color.YELLOW);
????????????????//陰影設置??
????????????????//????????????????textPaint.setShadowLayer(3f,?1,?1,?Color.DKGRAY);??
????????????????
????????????????//?時間水印??
????????????????String?mark?=?getCurrTime("yyyy-MM-dd?HH:mm:ss");
????????????????float?textWidth?=?textPaint.measureText(mark);
????????????????canvas.drawText(mark,?width?-?textWidth?-?10,?height?-?26,?textPaint);
????????????????
????????????????bos?=?new?BufferedOutputStream(new?FileOutputStream(file));
????????????????
????????????????int?quaility?=?(int)(100?/?percent?>?80???80?:?100?/?percent);
????????????????icon.compress(CompressFormat.JPEG,?quaility,?bos);
????????????????bos.flush();
????????????}
????????????catch?(Exception?e)
????????????{
????????????????e.printStackTrace();
????????????}
????????????finally
????????????{
????????????????isFinished?=?true;
????????????????if?(bos?!=?null)
????????????????{
????????????????????try
????????????????????{
????????????????????????bos.close();
????????????????????}
????????????????????catch?(IOException?e)
????????????????????{
????????????????????????e.printStackTrace();
????????????????????}
????????????????}
????????????????if?(icon?!=?null?&&?!icon.isRecycled())
????????????????{
????????????????????icon.recycle();
????????????????????icon?=?null;
????????????????????System.gc();
????????????????}
????????????}
????????}
????}


0 回復 有任何疑惑可以回復我~

這個貌似網上一堆啊 ?隨便拿個來就可以用啊

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

水印圖片處理

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號