android canvas(bitmap)失败

目前使用canvas在surfaceview上画路径
需要对路径进行缩放处理
所以想把canvas画的图放在bitmap上进行缩放处理
但是
使用canvas(bitmap)后,画出来的点,并没有显示在bitmap上是什么原因呀

1

3个回答

你的bitmap对象是不是从本地读取的?这种情况我曾经遇到过,也是new Canvas(bitmap);和canvas.setBitmap(bitmap);都没用,调用后都画不上去,这个情况只能你先用Bitmap.createBitmap创建一个等大小的空的bitmap,再用这个空的bitmap来调用canvas.setBitmap(bitmap);然后把你的从本地读取的bitmap用canvas.drawBitmap画到空bitmap上去,那么你得到的结果就可以画并且显示上去了。 去试一试吧, Bitmap bitmap=Bitmap.createBitmap(SourceBitmap.getWidth(),SouceBitmap.getHeight(),Bitmap.Config);//SourceBitmap为你提到的画不上去的Bitmap,这里创建了一个与SourceBitmap等大的空Bitmap Canvas canvas=new Canvas(bitmap);//设置Bitmap canvas.drawBitmap(SourceBitmap,0,0);//将原来的SourceBitmap画到bitmap上 //之后的bitmap就可以画上去了

0
crazyman_k
crazyman_k 首先谢谢您的回答 我的目的是对canvas画布上的内容进行缩放 然后我是想把canvas画的内容放在bitmap上面 通过缩放bitmap来实现目的 但是现在的状况是我能够用drawbitmap把bitmap画出来 但是bitmap上面没有我在之前通过canvas.drawline画出来的线段 所以现在也没法通过缩放bitmap来缩放线段
大约一年之前 回复

你的点可能已经画出来了,只是被canvas的图层遮住了,试试设置下你自己画点的图层的显示层级看看。

0
crazyman_k
crazyman_k 这个如何设置呀 没找到相关资料
大约一年之前 回复

你用自定义view试下看看

0
crazyman_k
crazyman_k 回复wz19870429: 现在用的办法就是遍历所有线段 重新绘制 这样花费时间很长
大约一年之前 回复
wz19870429
noobw 回复crazyman_k: 不会很耗时
大约一年之前 回复
crazyman_k
crazyman_k 回复wz19870429: 重新画一遍的话 耗时太长了吧
大约一年之前 回复
wz19870429
noobw 回复crazyman_k: 你不是要对画的线进行缩放处理显示吗?在自定义的surfaceview里面可以根据手势控制来实现缩放,然后根据缩放的比例重新绘制你画的线就可以了
大约一年之前 回复
crazyman_k
crazyman_k 现在是通过向一个画图类传入surfaceview来画图 请问改成自定义view是为了什么呀
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
将Canvas保存为一个bitmap
[code="java"]int w = 320,h = 240; String mstrTitle = “感受Android带给我们的新体验”; Bitmap mbmpTest = Bitmap.createBitmap(w,h, Config.ARGB_8888); Canvas canvasTemp = new Canvas(mbmpTest); canvasTemp.drawCol...
android canvas 绘制bitmap并保存到本地
自定义一个view,重载draw方法(不是重载ondraw,不然图片保存下来是空白的。)
Android Canvas 画各种图形和Bitmap详解
Android中,如果我们想绘制复杂的自定义View或游戏,我们就需要熟悉绘图API。Android通过Canvas类暴露了很多drawXXX方法,我们可以通过这些方法绘制各种各样的图形。Canvas绘图有三个基本要素:Canvas、绘图坐标系以及Paint。Canvas是画布,我们通过Canvas的各种drawXXX方法将图形绘制到Canvas上面,在drawXXX方法中我们需要传入要绘制的图形
Android 怎么使用Bitmap+Canvas 自适应屏幕
我们可以使用Matrix 来放缩我们得到的Bitmap 从而使我们的BItmap适应我们的手机屏幕 首先我们得先获取我们的手机屏幕的大小 WindowManager wm = (WindowManager) getContext().getSystemService( Context.WINDOW_SERVICE); int width = wm.getDefault
Android双缓冲绘图 Bitmap和Canvas 一看就懂
双缓冲绘图 Bitmap和Canvas 双缓冲是一种在内存中保留屏幕的副本或缓存的技术,先将所有图形都加载在内存中,然后一起绘制到屏幕上,避免了直接在屏幕上绘图时出现的明显闪烁。 实现步骤如下 定义: Canvas bufferCanvas; Bitmap bufferBitmap; 创建对象: bufferCanvas=new Canvas(bufferBi
图形绘制之——Canvas详解(四)-Bitmap(位图)及Matrix矩阵
前面我们提到过canvas相当于画家,而bitmap相当于画布,前面博客的例子都是直接利用canvas绘制,这里我们来学习一下,利用bitmap先将图形绘制好,然后一起放到最终的canvas中^^。 位图概念:Bitmap可以获得图像文件的信息,进行图像剪切、旋转、缩放等操作,并可以指定格式保存图像文件。 先来看一下bitmap的实例获得,这里是其中一种方式,通过已有的图片来获得它的位图,以后我
赵雅智_运用Bitmap和Canvas实现图片显示,缩小,旋转,水印
上一篇已经介绍了Android种Bitmap和Canvas的使用,下面我们来写一个具体实例 http://blog.csdn.net/zhaoyazhi2129/article/details/32136179 运行效果: 主要代码 package com.example.guaguale; import android.app.Activity; import androi
Android 用Canvas画textview、bitmap、矩形(裁剪)、椭圆、线、点、弧
初始化对象private Paint mPaint;//画笔 private int count;//点击次数 private Rect rect;//矩形 public CounstomView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); //初始化画笔
Android绘图实例(Bitmmap,Canvas,Pain的使用)&动态的在图片上添加文字(canvas.drawText)
近些天学习图像处理,今天看见了一段代码中有Bitmap时,
canvas、bitmap、paint之间是什么关系
官方文档翻译过来的解释: 要绘图,需要4个基本组件: Bitmap 保存像素的容器Canvas 执行绘图命令的宿主Rect/Path/text/Bitmap 要绘制的元素Paint 用什么样的方式绘制 android的canvas绘图,基于skia,想要了解canvas的绘图过程,需要对canvas和skia的源码有所了解。 查看Canvas源码,发现Canvas与Bitmap类似,都
自定义控件(二)Paint,Canvas 基础用法 - drawBitmap(),drawText() 详解
本篇博客继续学习 Paint 和 Canvas 的基础用法,上一篇博客学习了基础API使用( 基础几何图形,Path 路径 ),接下来学习 绘制文本 和 绘制图片 上一篇文章,没看的有必要先了解一下: 自定义控件(一)Paint,Canvas 基础用法 - Path函数大全,Canvas绘制基本几何图形 canvas 绘制 图片Bitmap drawBitmap void drawB...
android canvas(bitmap)失败
目前使用canvas在surfaceview上画路径n需要对路径进行缩放处理n所以想把canvas画的图放在bitmap上进行缩放处理n但是n使用canvas(bitmap)后,画出来的点,并没有显示在bitmap上是什么原因呀
Android—BitMap与Canvas学习笔记
Android—BitMap与Canvas学习笔记
Bitmap和Canvas的平移、缩放、旋转
Matrix matrix = new Matrix(); matrix.postTranslate(tx, ty); matrix.postScale(scale, scale); canvas.drawBitmap(bmp, matrix, null); (画布不动,bmp先平移后缩放,均是相对于原始坐标) (等价) Matrix matrix = new Matrix();
android 中的绘制类Paint 画笔,Canvas 画布,Bitmap 类和BitmapFactory及自定义属性
常用的绘图类是Paint 画笔,Canvas 画布,Bitmap 类和BitmapFactoryPaint类Paint类代表画笔,用来描述图形的颜色和风格,如线宽,颜色,透明度,和填充效果等信 息,使用Paint时,需要先创建该类的对象,这可以通过该类提供的构造方法来实现。通常情 况下,只需要使用无参数的构造方法来创建一个使用默认设置的Paint对象: Panit paint=new Panin
canvas.drawBitmap()画出来的bitmap和原bitmap大小不同,有一部分缺失了
造成这个问题的原因就在于安卓系统会根据bitmap的density和当前运行设备的density进行比较,不同会进行缩放。 项目里的图片叫 ic_launcher.png,大小是72*72,只有一张,放到了drawable-xhdpi的文件夹里了 代码是这样的: val srcBitmap=BitmapFactory.decodeResource(resources,R.drawable...
canvas 转换成bitmap
android里面 canvas 转换成bitmap
android下view的画布和Bitmap及叠加覆盖
android下view的画布和Bitmap及叠加覆盖
Android 使用Canvas中的drawBitmap方法绘制拉伸的图片
drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint) 参数的含义: Bitmap bitmap:需要处理的图片 Rect src:图片的坐标 RectF dst:需要绘制的图片所在位置的坐标 Paint paint:画笔类(处理图片时一般为null) 下面来介绍下Rect和RectF and
使用canvas.drawBitmap画出的图片能否设置背景色??
当前有个解决不了的问题: 使用canvas.drawBitmap画出的图片能否设置背景色来可以实现填充这个图片透明的部分。
在SurfaceView中,用Canvas.drawBitmap,设置透明度无效的问题
之前没注意过,在Canvas中,drawBitmap,如下: private void drawBitmapForAlpha(Canvas c,Bitmap bmp,int x,int y,int alpha) { bmp.setHasAlpha(true); Paint paint = new Paint(); paint.setAlpha(al
Android Bitmap图片缩放优化,用canvas替代Matrix进行缩放,解决一些错我
Android Bitmap图片缩放优化,用cavans替代Matrix进行缩放,解决一些错我
Android画图之Bitmap填满整个屏幕
最近写电子书程序,设计到对图像的处理,主要是对 Bitmap 的处理,所以有一点小小的心得,拿出来跟大家分享一下。 要把一个 Bitmap 画到 View 上,必须用到的类有 android.graphics.Canvas, 和 android.graphics.Bitmap 。方法很简单,在 View 里面,重载 onDraw(Canvas canvas) 方法,然后用 canvas.draw
Android绘图总结(Bitmap,Canvas,Paint,圆角)
最近老是和绘图打交道,经常用到Canvas,bitmap,Paint,但是对它们的理解总是模糊,这里作下总结,加深对绘图的理解。 要掌握Android的画图,首先就要了解一下,基本用到的图形接口: 1.Bitmap,可以来自资源/文件,也可以在程序中创建,实际上的功能相当于图片的存储空间,保存着像素 2.Canvas,紧密与Bitmap联系,把Bitmap比喻内容的话,那么Canva
安卓自定义View时,处理canvas缩放引起canvas.drawBitmap画质降低
自定义view时,经常会用到图片绘制,canvas.drawBitmap家族可以说是非常常用的API,不过有时候开发中要求我们的控件在某些页面是一个比例,某些页面是另一个显示比例,例如我遇到的,item的角标,噗……又是这个,在主页面是100%显示,在列表页要85%显示。 对于整体大小的控制,可以想到单独对自定义view里的各个元素宽高属性进行参数控制,但是这样既麻烦,又要写一大堆代码,很少浪费...
Android 的Bitmap密度density相关问题
Android 里面Bitmap的density特性比较难懂,现在这里探究一下。一. 密度与缩放的关系; 缩放是对尺寸进行缩放,Bitmap的密度不会变。 使用Matrix缩放Bitmap,缩放之后的密度是不变的。 二、密度与图片内存大小的关系 缩放之后就相当于在Bitmap里面增删像素pix,所占的内存会相应的变化。 三、Bitmap密度与显示密度 Bitmap的默认的den
使用Canvas、Bitmap时易犯的内存泄露问题
该篇文章解决了困扰了我几天的一个问题,特转载过来,希望能够帮助到更多的人,在原文的基础上略有修改。 原文地址:http://www.bangchui.org/read.php?tid=10013 你是不是在使用Bitmap的时候遇到了OOM异常? 你是不是觉得我对bitmap进行了recycle发现效果不是很明显,内存仍然是一路飙升? 好吧,那你就来对地方了!
解决用drawBitmap绘制点九图时,点九图不生效的问题
我们都知道点九图的作用,这里就不多说了,反正就是各种好各种美如画,这次我们把点九图用到自定义控件中。我们用drawBitmap来绘制点九图,然而似乎有点问题。
android用canva写文字,生成bitmap
public Bitmap appendTextToPicture(final String picPath, final String msg) { //返回具有指定宽度和高度可变的位图,它的初始密度可以调用getDensity() final int TXT_SIZE = 24; Bitmap bmp = BitmapFactory.decodeFile(pi
使用Bitmap作为绘图缓冲设置抗锯齿无效的解决方法
最近在项目中遇到一个问题,使用Bitmap作为绘图缓冲会出现锯齿,就算给Paint及Bitmap设置抗锯齿仍没有任何效果。几番尝试找到了解决方法。 先上对比图 设置抗锯齿不起作用的图片修改后的图片 想必大家可以清楚地看到第一张图有着锯齿,而第二张图抗锯齿起作用了。两张图都已经开启了抗锯齿,但为何效果不一样呢,具体的修改其实很简单。直接绘制路径是没有锯齿的,即在onDraw()中使用canvas.dr
Android生成验证码Bitmap源码
Android下使用Canvas生成验证码Bitmap
Android开发者学习笔记——View、Canvas、bitmap
Android开发者学习笔记——View、Canvas、bitmap
Android学习笔记之Bitmap位图的缩放
位图的缩放也可以借助Matrix或者Canvas来实现。 通过postScale(0.5f, 0.3f)方法设置旋转角度,然后用createBitmap方法创建一个经过缩放处理的Bitmap对象,最后用drawBitmap方法绘制到屏幕上,于是就实现了缩放操作。 下面例子中把原位图和经缩放处理的位图都绘制到屏幕上,目的是做一个对比。 package xiaosi.bitmap; imp
android 画图 bitmap drawable canvas paint
android 画图 bitmap drawable canvas paint
Canvas开篇之drawBitmap方法讲解
前面讲了paint,后面会花几篇主要讲讲canvas,并且由于最近项目比较紧,所以近期的文章都会“短小精悍”; paint 作为画笔,里面有非常多而强大的设置方法,比如设置颜色过滤器,设置位图渲染、渐变,设置图像的混合模式等等,而canvas呢?里面提供了哪些利器可以为我们所用,一起来看看: 通过上图我们可以看到,canvas 里的方法基本可以分为这么几类: 1. save、restore 等与层的保存和回滚相关的方法; 2. scale、rotate、clipXXX 等对画布进行操作的方法; 3. dra
android 画圆形图 获取圆形bitmap
注意,本人博客主要是为了自己记录,如果有问题欢迎反馈哈。 android里画圆形图的方法,我知道四种,前三种是java代码,此次重点记录这三种方法,最后一种是利用shape、shape-layer将图片显示成圆形,这种方法可自行上网百度,不推荐。 三种java代码方法,分别是使用BitmapShader(图片渲染)、PorterDuffXfermode(图片混合模式)、ClipPath (裁剪...
自定义surfaceview画图并保存Canvas到DCIM
自定义surfaceview package com.app.fantasticbaby; import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.text.SimpleDateFormat; import java.util.
Canvas和Bitmap的关系
转自http://m.blog.csdn.net/blog/foolsheep/44259473在Android关于Canvas的API描述中,一开始就如下描述:To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing in
自定义view-drawBitmap 实现类似动画效果
1.http://www.gcssloop.com/customview/Canvas_PictureText   GcsSloop本篇文章讲的是,canvas绘制bitmap中的drawBitmap函数的一个比较有意思的使用方法,我们以后也许会用到也说不定的哦。我们先来浏览一下这个函数:publicvoiddrawBitmap(Bitmapbitmap,Rectsrc,Rectdst,Paint...
android 图片的缩放,bitmap的用法 scaletype属性
在程序build的过程中位图文件会被aapt工具自动无损压缩来优化。比如,如果一个全彩的PNG图片所需要的色彩不超过256色,aapt工具就会使用一个调色板来将该图转换成一张8位的PNG图。画面质量并没有变化,但是所需的存储空间却减少了。
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 java学习失败经历分享 java学习失败想转实施