网站建设教程菜鸟物流,企业管理培训免费视频课程,建设大型网站怎样赢利,深圳网络推广公司天涯问答1、引言 上一篇文章已经介绍了使用bitmap对象生成图片#xff0c;但android中不仅仅可以直接使用bitmap对象生成图片#xff0c;也能借助bitmap对象将布局文件转化为图片#xff0c;实际应用时#xff0c;我们需要将两者结合起来#xff0c;只有这样才能生成更加绚丽的图片…1、引言 上一篇文章已经介绍了使用bitmap对象生成图片但android中不仅仅可以直接使用bitmap对象生成图片也能借助bitmap对象将布局文件转化为图片实际应用时我们需要将两者结合起来只有这样才能生成更加绚丽的图片样式接下来我就再演示一种使用bitmap直接生成三角形的案例同时也附加将布局文件生成图片的方法希望能对大家有所帮助。
2、实现步骤
2.1、bitmap生成三角形原理 这里我以生成等腰直角三角形为例使用bitmap对象生成三角形可以把所有三角形转化为直角三角形的方式直接或间接生成其中钝角三角形可以转化为一个直角三角形减去一个直角三角形的方式生成锐角三角形可以转化为两个直角三角形结合的形式然后借助相似三角形原理绘制成实心。
2.2、实现代码 /*** 绘制等腰三角形*/private void draw_isosceles_triangle(){//绘制三角形把所有三角形当做直角三角形变形所得然后根据垂直边按照比例绘制成实心或者只绘制边//1、绘制等腰直角三角形Bitmap customBitmap Bitmap//通过控制每一个像素点生成bitmap对象可以用这种方式生成图片.createBitmap(300, 300, Bitmap.Config.ARGB_8888);//按像素设置//以y轴为参照向上绘制垂足坐标(0,400)上顶点坐标是(0,100),右顶点坐标是(300,400)int i,j;//bitmap对象中坐标轴方向x坐标从左到右y坐标从上到下for (j 0; j 300; j) {for (i 0; i 300-j; i) {//绘制向上的边和向右的边customBitmap.setPixel(j,ij,Color.parseColor(#f06292));}}iv_custom.setImageBitmap(customBitmap);saveBitmap(customBitmap);}
2.3、布局文件转化为图片 布局文件生成图片一定要等界面加载完成后再获取避免获取到的视图尺寸为0下面是实现获取一个布局并测定尺寸的方式 /*** 保存布局为图片*/private void saveLayout(){View view LayoutInflater.from(CreateBitmapActivity.this).inflate(R.layout.activity_create_bitmap, null, false);//计算设备分辨率WindowManager manager CreateBitmapActivity.this.getWindowManager();DisplayMetrics metrics new DisplayMetrics();manager.getDefaultDisplay().getMetrics(metrics);int width metrics.widthPixels;int height metrics.heightPixels;//测量使得view指定大小int measureWidth View.MeasureSpec.makeMeasureSpec(width, View.MeasureSpec.EXACTLY);int measureHeight View.MeasureSpec.makeMeasureSpec(height, View.MeasureSpec.AT_MOST);view.measure(measureWidth, measureHeight);//调用layout方法布局后可以得到view的尺寸view.layout(0, 0, view.getMeasuredWidth(), view.getMeasuredHeight());Bitmap bitmap Bitmap.createBitmap(view.getWidth(), view.getHeight(),Bitmap.Config.ARGB_8888);//设置位图背景透明色只有jpg不支持透明色要用pngCanvas canvas new Canvas(bitmap);canvas.drawColor(Color.TRANSPARENT, PorterDuff.Mode.CLEAR);//设置画布背景透明色view.draw(canvas);saveBitmap(bitmap);//保存为图片}
2.4、补充说明 上面获取布局文件的方式中使用了图片保存方法这个方法就是我的上一篇文章中提供的方法这里就不展示了。
3、视频效果演示 这里的效果演示包含了bitmap对象直接绘制图片和将布局文件转化为图片的视频演示效果。 android中使用代码生成图片