Android图片图形处理文档格式.docx

上传人:b****5 文档编号:21201479 上传时间:2023-01-28 格式:DOCX 页数:10 大小:26.04KB
下载 相关 举报
Android图片图形处理文档格式.docx_第1页
第1页 / 共10页
Android图片图形处理文档格式.docx_第2页
第2页 / 共10页
Android图片图形处理文档格式.docx_第3页
第3页 / 共10页
Android图片图形处理文档格式.docx_第4页
第4页 / 共10页
Android图片图形处理文档格式.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

Android图片图形处理文档格式.docx

《Android图片图形处理文档格式.docx》由会员分享,可在线阅读,更多相关《Android图片图形处理文档格式.docx(10页珍藏版)》请在冰豆网上搜索。

Android图片图形处理文档格式.docx

11. 

Log.d(tag,"

createanewbitmap"

);

12. 

if(src==null) 

13. 

14. 

returnnull;

15. 

16. 

17. 

intw=src.getWidth();

18. 

inth=src.getHeight();

19. 

intww=watermark.getWidth();

20. 

intwh=watermark.getHeight();

21. 

//createthenewblankbitmap 

22. 

Bitmapnewb=Bitmap.createBitmap(w,h,Config.ARGB_8888);

//创建一个新的和SRC长度宽度一样的位图 

23. 

Canvascv=newCanvas(newb);

24. 

//drawsrcinto 

25. 

cv.drawBitmap(src,0,0,null);

//在0,0坐标开始画入src 

26. 

//drawwatermarkinto 

27. 

cv.drawBitmap(watermark,w-ww+5,h-wh+5,null);

//在src的右下角画入水印 

28. 

//saveallclip 

29. 

cv.save(Canvas.ALL_SAVE_FLAG);

//保存 

30. 

//store 

31. 

cv.restore();

//存储 

32. 

returnnewb;

33. 

找上面里说应该是在第一张图片上有了水印,那我怎么去得到这张有水印的图片呢

------------------------------------------------------------------------------------------------------------------

问题补充:

joe_zhpf写道

返回的这个不就是最后处理后得到的带有水印的图片?

图片写文件Bitmap有个compess方法.

程序逻辑实际是:

先建立一个空可读可写的bitmap,desBtimap

载入背景图片(原始图片)(这个是只是可读的)把背景图片的像素信息画到先前建立的可读写的bitmap,即desBtimap中

接着载入水印图片,根据需要在指定的位置把水印图片的像素信息,画到desBitmap中.

保存后,返回desBitmap即是得到的带有水印的图片.

嗯,你说的这个我也知道,我刚接触,不太懂,我的意思是如何处理返回的这个desBitmap呢,代码中只把它return之后就没了,我想知道return之后怎么做,就是说我打开文件夹就能开间带有水印的图片了,烦你指导下啊,谢谢

joe_zhpf(初级程序员)2010-08-15

我理解你是想把bitmap保存文件?

如果你是想存文件,前面我也提到了.bitmap类有个写文件的方法compress,这个方法使用可以看api.

举个例子:

首先获得带有水印的图片,desBitmap.

Java代码

1. 

File 

bitmapFile 

new 

File(路径,文件名);

 

2. 

FileOutputStream 

bitmapWtriter 

FileOutputStream(bitmapFile);

3. 

if(desBpress(Bitmap.CompressForma.png, 

100, 

bitmapWtiter)) 

4. 

Log.d("

TAG"

"

保存文件成功!

"

);

5.} 

6. 

7. 

FilebitmapFile=newFile(路径,文件名);

FileOutputStreambitmapWtriter=newFileOutputStream(bitmapFile);

if(desBpress(Bitmap.CompressForma.png,100,bitmapWtiter)){

Log.d("

}

你就可以到你指定的目录下看你保存的图片了.

Android之图片处理(图片合成、图片圆角、图片翻转、图片缩放)

2010-12-1312:

53

图片合成

/**

*图片合成

*@parambitmap

*@return

*/

privateBitmapcreateBitmap(Bitmapsrc,Bitmapwatermark){

if(src==null){

}

//createthenewblankbitmap

//创建一个新的和SRC长度宽度一样的位图

//drawsrcinto

//在0,0坐标开始画入src

//drawwatermarkinto

//在src的右下角画入水印

//保存

//store

//存储

图片圆角

*图片圆角

publicstaticBitmapgetRoundedCornerBitmap(Bitmapbitmap){

Bitmapoutput=Bitmap.createBitmap(bitmap.getWidth(),

bitmap.getHeight(),Config.ARGB_8888);

Canvascanvas=newCanvas(output);

finalintcolor=0xff424242;

finalPaintpaint=newPaint();

finalRectrect=newRect(0,0,bitmap.getWidth(),bitmap.getHeight());

finalRectFrectF=newRectF(rect);

finalfloatroundPx=12;

paint.setAntiAlias(true);

canvas.drawARGB(0,0,0,0);

paint.setColor(color);

canvas.drawRoundRect(rectF,roundPx,roundPx,paint);

paint.setXfermode(newPorterDuffXfermode(Mode.SRC_IN));

canvas.drawBitmap(bitmap,rect,rect,paint);

returnoutput;

图片缩放、翻转和旋转

*缩放、翻转和旋转图片

*@parambmpOrg

*@paramrotate

privateandroid.graphics.BitmapgerZoomRotateBitmap(

android.graphics.BitmapbmpOrg,introtate){

//获取图片的原始的大小

intwidth=bmpOrg.getWidth();

intheight=bmpOrg.getHeight();

intnewWidth=300;

intnewheight=300;

//定义缩放的高和宽的比例

floatsw=((float)newWidth)/width;

floatsh=((float)newheight)/height;

//创建操作图片的用的Matrix对象

android.graphics.Matrixmatrix=newandroid.graphics.Matrix();

//缩放翻转图片的动作

//swsh的绝对值为绽放宽高的比例,sw为负数表示X方向翻转,sh为负数表示Y方向翻转

matrix.postScale(sw,sh);

//旋转30*

matrix.postRotate(rotate);

//创建一个新的图片 

android.graphics.BitmapresizeBitmap=android.graphics.Bitmap

.createBitmap(bmpOrg,0,0,width,height,matrix,true);

returnresizeBitmap;

android遮罩层效果

看到一本电子杂志上有遮罩层的效果,感觉很漂亮,以为很麻烦,搜索了很多关于android遮罩层的,也没有得出一点思路,原来就是一个透明的效果,然后上面弹出的控件是透明或者半透明之类的,可以选择颜色,还是#ARBG,其中A就是传说中的透明色的值(可以根据需要设置透明的效果),废话不多说了,发一个简单的Demo吧,是我山寨的那本杂志的效果:

(由于杂志内容主要是图片,弹出层才是给出的文字信息,所以我猜测是用Gallery显示的杂志内容)

xml布局文件:

<

?

xmlversion="

1.0"

encoding="

utf-8"

>

FrameLayoutxmlns:

android="

android:

id="

@+id/layout"

layout_width="

fill_parent"

layout_height="

>

<

Gallery

@+id/showGallery"

spacing="

0dip"

/>

RelativeLayout

orientation="

horizontal"

wrap_content"

layout_gravity="

bottom"

background="

#86222222"

TextView

@+id/titleTextView"

layout_toRightOf="

@id/secondKillButton"

textColor="

#ff0000"

Button

@+id/unfoldButton"

layout_alignParentRight="

true"

text="

展开"

/RelativeLayout>

/FrameLayout>

主要的代码也很简单,还有一个简单的Adapter,有不理解的朋友可以看我之前的blog

packageoneRain.UpMagazine;

importjava.io.File;

importjava.util.ArrayList;

importjava.util.List;

importandroid.app.Activity;

importandroid.graphics.Bitmap;

importandroid.graphics.BitmapFactory;

importandroid.graphics.Color;

importandroid.os.Bundle;

importandroid.view.Gravity;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.view.ViewGroup;

importandroid.view.Window;

importandroid.widget.AdapterView;

importandroid.widget.AdapterView.OnItemSelectedListener;

importandroid.widget.BaseAdapter;

importandroid.widget.Button;

importandroid.widget.FrameLayout;

importandroid.widget.Gallery;

importandroid.widget.ImageView;

importandroid.widget.TextView;

publicclassShowActivityextendsActivity

{

privateinti=1;

privateintpos=0;

privateList<

String>

contents=null;

privatestaticfinalStringDIR="

/mnt/sdcard/UpMagazine/2010/content/"

//设置是否展开

privatebooleanisFolded=true;

//设置控件

privateFrameLayoutlayout=null;

privateGalleryshowGallery=null;

privateButtonunfoldButton=null;

privateTextViewtextView=null;

privateTextViewtitleTextView=null;

publicvoidonCreate(BundlesavedInstanceState)

{

super.onCreate(savedInstanceState);

requestWindowFeature(Window.FEATURE_NO_TITLE);

setContentView(R.layout.show);

initView();

@Override

protectedvoidonResume()

//TODOAuto-generatedmethodstu

super.onResume();

isFolded=true;

//初始化

privatevoidinitView()

contents=newArrayList<

();

Filedir=newFile(DIR);

File[]files=dir.listFiles();

for(inti=0;

i<

files.length;

i++)

contents.add(DIR+files[i].getName());

layout=(FrameLayout)findViewById(R.id.layout);

unfoldButton=(Button)findViewById(R.id.unfoldButton);

unfoldButton.setOnClickListener(newUnfoldClickListener());

showGallery=(Gallery)findViewById(R.id.showGallery);

showGallery.setOnItemSelectedListener(newGalleryOnItemSelectedListener());

showGallery.setAdapter(newShowAdapter());

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 书信模板

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1