如何将canvas绘制的路线放在bitmap上面 20C

通过canvas画出了一系列路径
想通过将canvas画出的路径放在bitmap上
从而可以通过对bitmap的缩放平移来实现对该路径的缩放平移
试了canvas(bitmap),但是为啥没有保存在bitmap上呢
请问有大佬能详细解答一下么

3个回答

canvas.drawBitmap(bitmap,new Matrix(),mPaint),试试

crazyman_k
crazyman_k 用了这个 用循环绘图 然后画出来的只有图片和最新的路线 以前的按理说不是应该在图片上面保存的么 但是怎么显示不出来
一年多之前 回复
crazyman_k
crazyman_k c = holder.lockCanvas(); c.drawBitmap(mbitmap,0,0,paint1); c.drawLine(oldPoint.getX(), oldPoint.getY(), currentPoint.getX(), currentPoint.getY(), paint2); holder.unlockCanvasAndPost(c);
一年多之前 回复

try {
FileOutputStream out = new FileOutputStream(filename);
bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
e.printStackTrace();
}

可以用Bitmap.compress函数来把Bitmap对象保存成PNG或JPG文件,然后可以用BitmapFactory把文件中的数据读进来再生成Bitmap对象。
保存的代码大概类似于这样:
try {
FileOutputStream out = new FileOutputStream(filename);
bmp.compress(Bitmap.CompressFormat.PNG, 90, out);
} catch (Exception e) {
e.printStackTrace();
}
具体的可以去查Bitmap和BitmapFactory的帮助文档。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
如何将图片放在自编的控件的上面
我们自编了一个控件,功能是拍照的,但我们希望用两个小的图片将这个控件的两边盖住一点,但图片总是在控件的后面,如何才能将图片放在控件的上面呀.
求助.!!!!bitmap上面写字...
rn[code=Java]rn @Overridern public void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.main);rn rn ImageView imageView = (ImageView)findViewById(R.id.myimg);rn rn Bitmap bmp = BitmapFactory.decodeResource(this.getResources(), R.drawable.background);rn rn Bitmap newb = Bitmap.createBitmap(320,480,Config.ARGB_8888);rn rn Canvas canvasTmp = new Canvas(newb);rn canvasTmp.drawColor(Color.TRANSPARENT);rn rn Paint p = new Paint();rn Typeface font = Typeface.create("宋体", Typeface.BOLD);rn p.setColor(Color.RED);rn p.setTypeface(font);rn p.setTextSize(16);rn canvasTmp.drawBitmap(bmp, 0,0,p);rn canvasTmp.drawText("文字", 0, 0, p);rn canvasTmp.save(Canvas.ALL_SAVE_FLAG);rn imageView.setImageBitmap(newb);rn canvasTmp.restore();rn rn[/code]rnrn在一张图片上写字,网上找的代码是这样的.但是坐标都为(0,0)时.图片把文字挡住了,就是看不到文字了
canvas绘制
rotate     // 旋转画布 填充 drawARGB(int a, int r, int g, int b) drawColor(int color) drawRGB(int r, int g, int b) drawColor(int color, PorterDuff.Mode mode) 几何图形 canvas.drawArc (扇形) canvas.draw
Canvas绘制
1. 矩形的绘制矩形的清除、描边及填充 clearRect(double x, double y, double w, double h) strokeRect(double x, double y, double w, double h) fillRect(double x, double y, double w, double h) context.lineJoin = 'round'; con
android上,如何将9png绘制在canvas上
需要使用google特别提供的NinePatchDrawable,使用方法如下: public Drawable getNinePatchDrawable(int resid,Rect rect){ InputStream is = getResources().openRawResource(resid); BitmapFactory.Options opt = new Bit
canvas的drawText 如何将文字绘制在控件的中心
canvas.drawText(String text,float x,float y,Paint mTextPaint); 第一个参数就不用说,就是你要写的字 第二个参数就是从哪里开始写  一般就是1/2*height+mTextPaint.measureText(text)/2; 然后第三个参数就是最麻烦的 先看一张图 y坐标就是baseline所在的那条线 那我们先假设 如果我们
Canvas与Bitmap画图的问题
这是自定义的一个View.做为涂鸦用的,两个问题,1.怎么把mBitmap放到画板中间,并且整个画板都可以执行画的操作,因为目前来说R.drawable.bg在左上角并且只能在图片上做画的操作,空白处不能。2.另一个是怎么作清除画板上的已经画的东西和撤销功能。知道的请说下,成分感谢rn代码如下:rnpublic class CanvasView extends View rnrn private Bitmap mBitmap;rn private Canvas mCanvas;rn private Path mPath;rn private Paint mBitmapPaint;rn private Paint mPaint;rnrn public CanvasView(Context c) rn super(c);rn mPaint = new Paint();rnrn mBitmap = BitmapFactory.decodeResource(getResources(),rn R.drawable.bg).copy(Bitmap.Config.ARGB_8888, true);rn // mBitmap = Bitmap.createBitmap(300, 400, Bitmap.Config.ARGB_8888);rn // mBitmap = Bitmap.createBitmap(mBitmap);rn //Bitmap b = BitmapFactory.decodeResource(getResources(), R.drawable.bg);rn mBitmap = Bitmap.createBitmap(mBitmap , 0, 0, 300, 400);rnrn mCanvas = new Canvas(mBitmap);rn mPath = new Path();rn mBitmapPaint = new Paint(Paint.DITHER_FLAG);rnrn mPaint.setAntiAlias(true);rn mPaint.setDither(true);rn mPaint.setColor(0xff000000);rn mPaint.setStyle(Paint.Style.STROKE);rn mPaint.setStrokeJoin(Paint.Join.ROUND);rn mPaint.setStrokeCap(Paint.Cap.ROUND);rn mPaint.setStrokeWidth(5);rn rnrn @Overridern protected void onSizeChanged(int w, int h, int oldw, int oldh) rn super.onSizeChanged(w, h, oldw, oldh);rn rnrn @Overridern protected void onDraw(Canvas canvas) rn canvas.drawColor(0xFFFFFFFF);// set background colorrnrn canvas.drawBitmap(mBitmap, 0, 0, mBitmapPaint);rnrn canvas.drawPath(mPath, mPaint);rn rn}
关于BITMAP,Canvas,SOCKET。。。。。。
可不可以把Canvas转换为BITMAP,,,如何用SERVER端的SOCKET发送BITMAP???
android canvas(bitmap)失败
目前使用canvas在surfaceview上画路径n需要对路径进行缩放处理n所以想把canvas画的图放在bitmap上进行缩放处理n但是n使用canvas(bitmap)后,画出来的点,并没有显示在bitmap上是什么原因呀
canvas 转换成bitmap
android里面 canvas 转换成bitmap
Canvas与Bitmap求解
求解:rn[code=Java]rn//bitmap为一个大图rn//Canvas crn//Handler handlerrn//ra为一个Runnable用来不断执行下面的操作rnbm = Bitmap.createBitmap(bitmap, 0, i*20, 480, 20);rnLog.w("draw", "draw ok " + i);rnc.save();rnc.drawBitmap(bm, 0, i * 20, paint);rni++;rnc.restore();rnhandler.postDelayed(ra, 10);rn[/code]rn循环执行上面的操作画出来的效果却如下:rn[img=http://hi.csdn.net/attachment/201111/24/2591050_1322121341xX04.jpg][/img]
Android Canvas Bitmap
用Android Canvas Bitmap 绘图rn问题:rn 1 Canvas生成一个Bitmap时,这时候已经占内存了吗?还是往Bitmap上画东西的时候才分配内存?rn 如果占内存的话,Canvas生成一个Bitmap,最大能生成多大的Bitmap?rn 且如何控制所占的内存?rnrn 2 根据上面1的问题,我绘制一个内存极限最大的Bitmap,rn 想把这个Bitmap分区域绘制 然后输出到屏幕 如何实现???rnrn望各位高手不吝赐教 提供宝贵思路!!!!
关于android的Canvas(Bitmap)问题
[size=16px]rn小弟我刚学android程序开发,使用android studio开发工具。最新学习了一个在图片上涂鸦的小程序,但是发现程序不能运行。程序没有语法错误,只是用模拟器无法运行,显示“has stopped”,我把程序安装在手机也是闪退。后来检查是:canvas = new Canvas(o_Bitmap); 出问题。查了一个下午的资料,也找不出这里有什么错误,附上代码给各位大哥帮忙看看,谢谢!rn[/size]rnrn[size=16px]activity_main.xml[/size]rn[code=html]rnrnrnrn rn rn rn rn rn[/code]rnrn[size=16px]myHandWrite.java (自定义的组件)[/size]rn[code=java]rnpackage com.zhuneen.zhu_4_5;rnrnimport android.content.Context;rnimport android.graphics.Bitmap;rnimport android.graphics.BitmapFactory;rnimport android.graphics.Canvas;rnimport android.graphics.Color;rnimport android.graphics.Paint;rnimport android.util.AttributeSet;rnimport android.view.MotionEvent;rnimport android.view.View;rnrnpublic class myHandWrite extends View rn Paint paint = null; //定义画笔rn Bitmap originalBitmap = null; //存放原始图像rn Bitmap new1_Bitmap = null; //存放从原始图像复制的位图图像rn Bitmap new2_Bitmap = null; //存放处理后的图像rn float startX = 0, startY = 0; //画线的起点坐标rn float clickX = 0, clickY = 0; //画线的终点坐标rn boolean isMove=true; //设置是否画线的标记rn boolean isClear = false; //设置是否清除涂鸦的标记rn int color = Color.GREEN; //设置画笔的颜色(绿色)rnrn public myHandWrite(Context context, AttributeSet attrs) rn super(context, attrs);rn originalBitmap = BitmapFactory.decodeResource(getResources(),R.drawable.cy);//从资源中获取原始图像rn new1_Bitmap = Bitmap.createBitmap(originalBitmap);//建立原始图像的位图rn rn public void clear() //清除涂鸦rn isClear = true;rn new2_Bitmap = Bitmap.createBitmap(originalBitmap);rn invalidate();rn rn @Overridern protected void onDraw(Canvas newCanvas) //显示绘图rn super.onDraw(newCanvas);rn newCanvas.drawBitmap(HandWriting(new1_Bitmap), 0, 0,null);rn rn public Bitmap HandWriting(Bitmap o_Bitmap)//记录绘制图形rn rn Canvas canvas;rn if(isClear)//创建绘制新图形的画布rn rn canvas = new Canvas(new2_Bitmap);//检查发现这条语句有问题,但是语法是正确的。rn rn else//创建绘制原图形的画布rn canvas = new Canvas(o_Bitmap);//检查发现这条语句有问题,但是语法是正确的。rn rn paint = new Paint();rn paint.setStyle(Paint.Style.STROKE);rn paint.setAntiAlias(true);rn paint.setColor(color);rn paint.setStrokeWidth(5);rn if(isMove) rn canvas.drawLine(startX, startY, clickX, clickY, paint);//在画布上画线条rn rn startX = clickX;rn startY = clickY;rn if(isClear)rn rn return new2_Bitmap;//返回新绘制的图像rn rn return o_Bitmap;//若清屏,则返回原图像rn rn @Overridern public boolean onTouchEvent(MotionEvent event)//定义触摸屏事件rn rn clickX = event.getX();//获取触摸坐标位置rn clickY = event.getY();rn if(event.getAction() == MotionEvent.ACTION_DOWN)//按下屏幕时无绘图rn rn isMove = false;rn invalidate();rn return true;rn rn else if(event.getAction() == MotionEvent.ACTION_MOVE)//记录在屏幕上划动的轨迹rn rn isMove = true;rn invalidate();rn return true;rn rn return super.onTouchEvent(event);rn rnrn[/code]rnrn[size=16px]MainActivity.java [/size]rn[code=java]rnpackage com.zhuneen.zhu_4_5;rnrnimport android.app.Activity;rnimport android.os.Bundle;rnimport android.view.View;rnimport android.widget.Button;rnrnpublic class MainActivity extends Activity rn private myHandWrite handWrite=null;rn private Button clear=null;rn @Overridern protected void onCreate(Bundle savedInstanceState) rn super.onCreate(savedInstanceState);rn setContentView(R.layout.activity_main);rn handWrite = (myHandWrite) findViewById(R.id.handwriteview);//关联View组件rn clear = (Button)findViewById(R.id.clear);rn clear.setOnClickListener(new mClick());rn rn private class mClick implements View.OnClickListenerrn rn public void onClick(View v) rn handWrite.clear();//清屏rn rn rnrnrn[/code]
Android—BitMap与Canvas学习笔记
Android—BitMap与Canvas学习笔记
Canvas和Bitmap的关系
Canvas和Bitmap的关系
canvas 二 canvas绘制表盘,及canvas曲线的绘制
/** * 绘制圆 * arc(x,y,半径,起始弧度,结束弧度,旋转方向) * x,y起始位置 * 弧度与角度的关系 : 弧度 = 角度*Math.PI/180 * 旋转方向:顺时针(默认false)、逆时针(true) */ var oc = document.getElementById('canvas'); var ogc = oc.getContext('2d')
使用 MapKit 绘制路线
作者:Arthur Knopper,原文链接,原文日期:2016-02-29译者:TonyHan;校对:Crystal Sun;定稿:CMB 在本节教程中,将学习如何在纽约市的两个地标之间绘制一条线路。这条线路绘制在 Map 图层的上面,使用折线绘制。本教程使用 Xcode 7.2 和 iOS 9.2。 译者注:由于目前主流版本为 Xco...
MKDirections绘制导航路线
// // ViewController.m // DrawNavLine // // Created by hq on 16/5/18. // Copyright © 2016年 hanqing. All rights reserved. // #import "ViewController.h" #import @interface ViewController () @pr
百度地图绘制行车路线
百度地图开发平台 http://lbsyun.baidu.com/ 百度地图JavaScript API是一套由JavaScript语言编写的应用程序接口,可帮助您在网站中构建功能丰富、交互性强的地图应用,支持PC端和移动端基于浏览器的地图应用开发,且支持HTML5特性的地图开发。免费对广大用户开放。 1、创建应用生成ak 2、在index.html中引用 <!-- 引入百度地图api --...
百度地图定位及绘制路线
android 百度地图api地位 百度地图定位及绘制路线
高德地图---路线绘制
根据高德地图官方demo实现运动轨迹的获取,运动轨迹的回放
MKMapView绘制路线
#import "ViewController.h" #import <MapKit/MapKit.h>@interface ViewController ()<MKMapViewDelegate> @property (weak, nonatomic) IBOutlet MKMapView *mapView; @property (nonatomic, strong) CLGeocoder *ge
地图绘制路线
前面我介绍了如何调起第三方地图导航,那么我今天再介绍一下如何使用系统MapKit在地图上绘制路线,这个功能可能在地图上不经常使用,但是还是有必要和打家分享一下,希望可以帮助有需要的开发者!(swift)看代码:import UIKit import MapKitclass MapVC: UIViewController,MKMapViewDelegate,CLLocationManagerDeleg
Canvas圆弧绘制,绘制文本
圆弧绘制 arc() x 圆心横坐标 y 圆心纵坐标 r 半径 startAngle 开始角度 endAngle 结束角度 anticlockwise 是否逆时针方向绘制(默认false表示顺时针;true表示逆时针) 绘制文本 ctx.font = '微软雅黑' 设置字体 strokeText() fillText(text,x,y,maxWidth) te...
Canvas绘制Bitmap 友盟分享纯图片至微信好友
1.需求场景Android开发中,有将带有二维码的纯图片分享给微信需求 ,左是分享一张内容固定图片,右是需求实现图片           目前,我们有一个需求是不同用户报名活动成功后分享出去的图片会带有(红框部分)信息                2.需求分析查看友盟开发文档new ShareAction(ShareActivity.this).withText(&quot;hello&quot;).withMed...
为什么不能放在上面?
[img=http://img.my.csdn.net/uploads/201301/31/1359628674_8904.png][/img]rnrn如图,求高手解答。
Bitmap绘制颜色过滤
Bitmap绘制,包括颜色过滤矩阵,光照、混合模式。并设置染色模式。
用MFC绘制Bitmap
用mFC对位图进行擦作,实现位图操作,主页是DC绘制位图的简单例子,希望可以对大家有用
win32开发(绘制bitmap)
【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】    win32平台支持直接绘制bitmap图片,所以同学们可以从网上直接找一张图片来绘制。一般来说,绘制图像分成这几个步骤:1、创建兼容上下文设备,2、根据文件直接创建bitmap句柄,3、句柄绑定,4、使用bitblt绘图,5、删除bitmap句柄和兼容上下文设备,CreateCompati
如何将一个Bitmap通过程序保存到sdcard上面
我从某个地方得到了一个bitmap对象我想把它存到sdcard上面,保存的格式是png,可我发现用compress,和FileOutputStream 配合使用只能保存一个比较小的png图片,如果前面得到的那bitmap图片过大就行不通了。 FileOutputStream out = new FileOutputStream(dir);rnimg.compress(Bitmap.CompressFormat.PNG, 100, out);rnout.flush();rnout.close();rn不知道怎么去解决这个问题?
如何将canvas对象或bitmap对象生成一个BMP文件?
简单的说,是想将view画的结果保存到一张图片里.该如何做?求助!
将Canvas保存为一个bitmap
[code=&quot;java&quot;]int w = 320,h = 240; String mstrTitle = “感受Android带给我们的新体验”; Bitmap mbmpTest = Bitmap.createBitmap(w,h, Config.ARGB_8888); Canvas canvasTemp = new Canvas(mbmpTest); canvasTemp.drawCol...
Canvas绘制入门
Canvas绘制入门 HTML5元素用于图形的绘制,通过脚本(通常是JavaScript)来完成 标签只是图形容器,要使用脚本来绘制图形 canvas绘制步骤: 1、使用HTML来创建 HTML JavaScript var canvas = document.getElementById ('canvas'); //获取canvas绘图上下文环境 contextvar
canvas——绘制表格
&lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;绘制表格&lt;/title&gt; &lt;/head&gt; &lt;body&gt; &lt;div id="container"&gt; &lt;ca...
canvas绘制多张网络图片
1、最近在做小程序的分享图的时候,后台返回的背景图和小程序码网络图片。canvas不能绘制网络的图片和base64形式的图片。 2、现在的做法是先把图片下载到本地。就是 wx.downloadFile( )。 3、先绘制多张网络的图片,有可能会出现小图先加载大图后加载。导致出现的图片没有完全绘制出来。 4、说了这么多,直接上代码。 downfile(url){//下载网络图片的prom...
canvas初体验-太极图的绘制
Canvas是H5中一个重要的概念,它面向开发人员提供了非常底层的绘图接口,使得绘制速度可以大幅提高,这对游戏等领域极为重要。还不太熟悉canvas Api的同学可以移步这里:https://developer.mozilla.org/enUS/docs/Web/API/Canvas_API/Tutorial/Drawing_text最终实现效果绘制步骤把整个图形分成大小不同6个圆来依次绘制1.初...
canvas绘制字体
1、绘制描边文字    ctx.strokeText( 文字,参考x坐标,参考y坐标,[,限制文字最大长度] )    限制最大长度:如果字体长度大于最大长度会被压缩2、设置字体样式    ctx.font =  ' style | variant | weight | size/line-height | family';    注意:单独设置字体大小不生效,必须加一个字体样式3、绘制填充文字 ...
canvas绘制饼图
效果展示: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Document&lt;/title&gt; &lt;style&gt; canvas { border:1px solid red; display: block...
案例-雨滴-canvas绘制
思路晚点在整理 &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;canvas雨滴&lt;/title&gt; &lt;style&gt; body,html{padding:0;margin:0px;height:100%;...
canvas 绘制路飞
&amp;lt;canvas id=&amp;quot;luffy&amp;quot; width=&amp;quot;370&amp;quot; height=&amp;quot;340&amp;quot;&amp;gt;&amp;lt;/canvas&amp;gt; &amp;lt;p class=&amp;quot;erhuo&amp;quot;&amp;gt;二货&amp;lt;/p&amp;gt;&amp;lt;style&amp;gt; .erhuo { font-siz
相关热词 c# 线程结束时执行 c# kb mb 图片 c# 替换第几位字符 c#项目决定成败 c# 与matlab c# xml缩进 c#传感器基础 c#操作wps c# md5使用方法 c# 引用父窗口的组件