android:用Bitmap+Canvas画出来的东西,有的能打印有的不能打印

下面这段代码目的是想把图片、文字等打印在一张创建的背景图上。怎么有的能打印出来有的不能?请问要怎么做才能把要打印的都打印上去?
public void DrawImage() {
/*建立画布,画笔,位图初始化*/
bitmap = Bitmap.createBitmap(xp_width, xp_height, Bitmap.Config.ARGB_8888);
canvas = new Canvas(bitmap);
canvas.drawColor(Color.WHITE);
paint = new Paint();
paint.setTextSize(5);

        /*花两边的圆孔 能打印*/
        canvas.drawColor(Color.rgb(223, 233, 235));
        for (int y = 5; y < xp_height - 5; y++) {
            canvas.drawOval(10, y, 24, y + 14, paint);
            canvas.drawOval(495, y, 509, y + 14, paint);
            y = y + 27;
        }

        /*把头部信息打印在背景图上   能打印*/
        bitmap_top = BitmapFactory.decodeResource(getResources(), R.drawable.lishua_top);
        // 指定图片绘制区域
        Rect src_top = new Rect(0, 0, bitmap_top.getWidth(), bitmap_top.getHeight());
        // 指定图片在屏幕上显示的区域,四个点的坐标
        Rect dst_top = new Rect(45, 15, 475, 55);
        canvas.drawBitmap(bitmap_top, src_top, dst_top, paint);
        Log.d("xg", "this is do top");

         /*把印章信息打印在背景图上  不能打印*/
        bitmap_mark = BitmapFactory.decodeResource(getResources(), R.drawable.lakala_top);
        // 指定图片绘制区域
        Rect src_mark = new Rect(0, 0, bitmap_mark.getWidth(), bitmap_mark.getHeight());
        // 指定图片在屏幕上显示的区域,四个点的坐标
        Rect dst_mark = new Rect(280, 595, 485, 570);
        //canvas.rotate();
        canvas.drawBitmap(bitmap_mark, src_mark, dst_mark, paint);

        /* 能打印*/
        canvas.drawLine(100,100,200,200,paint);

        /* 不能打印*/
        canvas.drawPoint(100,100,paint);

        imageView.setImageBitmap(bitmap);

3个回答

CreateBitmap 本身是很消耗资源的,如果加上图片的话,小的还可以吧,大的估计就不行了,正确的做法是 创建一个自定义View,全部画上去,然后把View转化成bitmap,bitmap保存成图片就行了。

ZHXG4300
小刚张嘎 public class DrawView extends View { public DrawView(Context context) { super(context); } protected void onDraw(Canvas canvas) { super.onDraw(canvas); //设置画笔 Paint paint=new Paint(); //画文本 canvas.drawText("画圆",120,130,paint); //画圆 canvas.drawCircle(100,180,80,paint); } } 像这样吗?那这个又如何把画出来的图转化成bitmap呢?
一年多之前 回复

你可以自定义一个View 先去绘制一些东西 然后在你的图片上方引用这个自定义View 直接叠加就可以了

ZHXG4300
小刚张嘎 public class DrawView extends View { public DrawView(Context context) { super(context); } protected void onDraw(Canvas canvas) { super.onDraw(canvas); //设置画笔 Paint paint=new Paint(); //画文本 canvas.drawText("画圆",120,130,paint); //画圆 canvas.drawCircle(100,180,80,paint); } } 像这样吗?那如何获取到这个画?
一年多之前 回复

这个可不可以,打印一部分然后缓存,再打一部分,然后拼接?

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
android:用Bitmap+Canvas画出来的东西,有的能打印有的不能打印
下面这段代码目的是想把图片、文字等打印在一张创建的背景图上。怎么有的能打印出来有的不能?请问要怎么做才能把要打印的都打印上去?npublic void DrawImage() n /*建立画布,画笔,位图初始化*/n bitmap = Bitmap.createBitmap(xp_width, xp_height, Bitmap.Config.ARGB_8888);n canvas = new Canvas(bitmap);n canvas.drawColor(Color.WHITE);n paint = new Paint();n paint.setTextSize(5);nn /*花两边的圆孔 能打印*/n canvas.drawColor(Color.rgb(223, 233, 235));n for (int y = 5; y < xp_height - 5; y++) n canvas.drawOval(10, y, 24, y + 14, paint);n canvas.drawOval(495, y, 509, y + 14, paint);n y = y + 27;n nn /*把头部信息打印在背景图上 能打印*/n bitmap_top = BitmapFactory.decodeResource(getResources(), R.drawable.lishua_top);n // 指定图片绘制区域n Rect src_top = new Rect(0, 0, bitmap_top.getWidth(), bitmap_top.getHeight());n // 指定图片在屏幕上显示的区域,四个点的坐标n Rect dst_top = new Rect(45, 15, 475, 55);n canvas.drawBitmap(bitmap_top, src_top, dst_top, paint);n Log.d("xg", "this is do top");nn /*把印章信息打印在背景图上 不能打印*/n bitmap_mark = BitmapFactory.decodeResource(getResources(), R.drawable.lakala_top);n // 指定图片绘制区域n Rect src_mark = new Rect(0, 0, bitmap_mark.getWidth(), bitmap_mark.getHeight());n // 指定图片在屏幕上显示的区域,四个点的坐标n Rect dst_mark = new Rect(280, 595, 485, 570);n //canvas.rotate();n canvas.drawBitmap(bitmap_mark, src_mark, dst_mark, paint);nn /* 能打印*/n canvas.drawLine(100,100,200,200,paint);nn /* 不能打印*/n canvas.drawPoint(100,100,paint);nn imageView.setImageBitmap(bitmap);
我的水晶报表为什么有的能打印,有的不能?
我的水晶报表为什么有的能打印,有的不能?
为什么有的打印了,有的没有打印?
我有个程序,在某个端口接受tcp请求。rnrn我用 test 2>temp.txt 执行我的程序,在程序 中,rn。。。。rnfprintf(stderr, "aaaaa");rn。。。。rnfprintf(stderr, "bbbbb");rnrn发现 "aaaaa" 打印到了temp.txt中,但是"bbbbb" 却没有打印出来,我可以肯定执行了fprintf(stderr, "bbbbb"),但为什么没有打印出来呢,这中间发生了什么?怎么去定位呢?rnrn急等!谢谢!
打印form上所有的东西
我想打印fomr上所有显示的东西,比如image上的图片,label上的文字 和 button上的文字。rn用什么方法?有代码吗?
并口热敏打印机输出二维码有的机器能打印有的不能打印
二维码之前输出的汉子跟数字都没有问题,就是到输出二维码的时候出现问题,有的打印机可以正常输出 ,有的就不行只能输出文字部分,正常输出二维码的打印机装到任何电脑上都能输出二维码,不能输出成功二维码的换到任何电脑都不能正常输出。。。我的说明好理解么。使用的新北洋二次开发包,机器都是爱普生的热敏打印机全为并口连接,是否与缓存有关系?应该先清理缓存在输出?,所有打印机都是一个型号的。
打印所有的汉字
要知道,汉字的unicode编码范围是0x4e00到0x9fa5,额: package java2.pack1; /** * Created by fhqplzj on 16-10-23 at 下午8:55. */ public class PrintAllChinese { public static void main(String[] args) { int
jquery.printarea.js打印页面,有的浏览器打印一页,有的两页
jquery.printarea.js打印页面,有的浏览器打印一页,有的两页,浏览器都用默认的打印设置,请高手指点,为什么呢
svn有的能提交,有的不能提交
版本是V1.4.4rn不能提交的报rnsvn: Commit failed (details follow):rnsvn: Access deniedrn的错rn其它的操作都可以rn有人遇到过这样的问题吗?
打印是不是把要打印的东西在OnPrint()里画出来?
如果直接在OnDraw函数中在其参数定义的CDC dc上画,打印预览的时候就可以看到,但是我是自己定义了一个CClientDC dc;rn这样打印预览就什么都看不到,是不是要在OnPrint()函数中把我要打印的东西重绘一遍?还是应该怎样?
打印bitmap不能显示的问题
我在做打印的时候要打印一些bitmap,rn于是我在OnInitialUpdata函数中创建了一个与显示兼容的内存设备环境,然后在OnDraw函数中调用BitBlt,把位图拷贝到打印设备环境中。rn但是问题就来了,我的这个位图在单色和8位色中显示还算正常(就是颜色显示的有点不一样),但是当把打印机选择成256色时候图就打印不出来了,图的位置是一片空白,真彩色就更乱了,是满纸黑色。rn而且在有的打印机上没有位数选择,比如HP laserjet 5100 PLC6,位图就没法显示。rn请教各位大虾有什么办法可以解决吗?rn是不是把位图转成DIB型的能解决这类问题?有参考的源程序或者这方面的资料吗?rn
打印字符串所有的子集
char set[4] = "abc"; const int max_set_num = 1 << 3; int i, j, k; for (i = 0; i < max_set_num; i++) { //遍历所有可能的组合,数值从1到2的7次方减1 for (j = 0, k = i; j < 3; j++) { //对于每一个组合,判断二进制位,
打印所有的水仙花数
打印所有的水仙花数
打印所有的Binary Number
If the Fibonacci series is 1,2,3,5,8,13,….. then 10 can be written as 8 + 2 ==> 10010 and 17 can be written as 13 + 3 + 1 ==> 100101. Got it?? The Question was, given n, I need to get all possible rep
打印一年中所有的星期三
假如要打印2018年所有的星期三,已知2018年的1月3号是新年的第一个星期三。     要知道润年是365天,也就是二月的最后一天是29号,平年是365天,二月的最后一天是28号。1,3,5,7,8,10,12月有31天,其余月是30天。我们可以用一个数组来表示每个月的天数。 程序代码如下 void printWednesday() {//2018年1月3号是星期三 int Nums[...
AOE网打印所有的关键路径
#include &amp;lt;cstdio&amp;gt; #include &amp;lt;cstring&amp;gt; #include&amp;lt;string.h&amp;gt; #include&amp;lt;iostream&amp;gt; #include &amp;lt;queue&amp;gt; using namespace std; const int maxn = 1e5 + 7; int n,m,tot,cnt,du[maxn],head[...
数据窗口有字体是彩色的 有的针式打印机能打印出来,有的打印不出来。 EPSON 1600KIIIH打印不出来
数据窗口有字体是彩色的 有的针式打印机能打印出来,有的打印不出来。 EPSON 1600KIIIH打印不出来,是什么原因,应该如何调整呢?
我用gdi+在winform中做的打印预览,在有的机器能显示 ,有的没有显示。
怎么回事啊??
打印的问题,有的机器上成功,但有的失败
麻烦大家帮忙分析一下。rn在软件中使用到了打印功能。程序拿到不同的机器上去测试,有的是成功的,而有的机器上,一行字可能打不全。不知道有可能存在什么问题?rn谢谢。
vb+datareport 打印格式不正确问题,预览正确,在有的打印机上打印正确,而有的打印就出现格式不正确现象?
A4格式,我在hp 1022的打印机上就没有问题,而在hp d2368(比较老的)也是设置成A4的,预览格式是正确的,但一打印有的字段只打印出头一个字。为什么换个打印机就不成了,打印就用的datareport自带的打印, 请问和打印机有关系么,和打印机驱动程序有关系么
android canvas(bitmap)失败
目前使用canvas在surfaceview上画路径n需要对路径进行缩放处理n所以想把canvas画的图放在bitmap上进行缩放处理n但是n使用canvas(bitmap)后,画出来的点,并没有显示在bitmap上是什么原因呀
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—BitMap与Canvas学习笔记
Android—BitMap与Canvas学习笔记
rpg中有的地方能通过,有的地方不能等等?
rpg 中进入另一个场景如何写?rn
数据库记录有的能删除,有的不能删除
奇怪问题,将SQL数据库转为access后,在ASP页面中删除以前的记录可以删除,但新添加的记录则删除不掉,奇怪,在数据库里可以删除,请教一下
怎么有的IE能打开,有的IE不能打开?
我是在DW里面做了一个一张大图片然后点击出来一张小图片rn可是为什么有的浏览器能点出来,而有的不能?rn是不是IE设置里面??
同样的图片为什么有的能显示有的不能呢
我在后台上传图片,同样都是jpg格式的图片,为什么有的在前台就能显示,有的却不行呢,这是什么原因
江湖救急啊,有的浏览器能居中,有的不能,蛋痛了
江湖救急啊,有的浏览器能居中,有的不能,蛋痛了rnrnrnrn rn rn 欢迎进入上海中渡自动化工程设备有限公司!rn rnrnrnrnrn rn rn
好奇怪啊,为什么有的能显示,有的不能呢?
<% if rs("reply")<>"" thenrn%>rn rn 答复人: <%=Rs("replyname")%> 答复时间:<%=Rs("replytime")%>rn rn rn 答复内容: <%=Rs("reply")%>rn rn<%end if%>rn 在浏览器里他能显示答复的时间,但是就不显示答复人和答复内容,为什么啊,哪里出错了?
为什么同一虚拟目录下有的asp能解释,有的不能?
我的主页调试的时候有的asp页面可以被正确显示,同一个目录下有一个asp文件却被提示下载?上传到服务器上也一样,是不是我的asp文件有问题?rnrn急急急!在线等!!!
SQL 2008R2有的能访问,有的不能访问
公司有这样的一个环境,ESXI5.5上面加载了一个WIN2012 R2虚拟机,上面是SQL2008 R2rn另外,该主机上配有一块HBA光纤卡,做的是直通配置,连接到HP P2000存储服务器。rnrn如果用两根光跳线连接到主机上,并在WIN202里配置MPIO,就会有部分客户机无法访问SQL,此时PING的通WIN2012的IP,TELNET SQL的1433端口也是好的。rnrn我取消了MPIO,结果就正常了。rnrn后来,我用另一台服务器,把HBA配置到ESXI上,没用直通方式,无论用多链路,还是只有一个链路,还是有些客户可以访问,有些客户不能访问。
为什么GridView有的列能更新,有的列不能更新?
请看我的全部代码,现在出现的奇怪现象是,GridView1一共三列显,点"编辑""更新",同时修改BrandName(名称)一列,和LogoURL字段(图标)一列时,LogoURL是可以修改其值的,但是BrandName的值始终不会变,这个是怎么回事呢?rnrn<%@ Page Language="VB" Trace="False" %>rn<%@ Import Namespace="System.Data" %>rn<%@ Import Namespace="System.Data.OleDb" %>rnrnrnrn[code=VB.NET] [/code]rnrn[code=HTML]rnrn rnrnrn rn 选择频道:rn 云南服装rn 云南化妆品专业线rn 云南普洱茶rn 云南内衣rn 云南鞋业rn 云南化妆品(日化)rn rn 新增品牌rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rn rnrn[/code]
请问,为什么<%= 服务器代码 %>,有的能解析,有的不能
如题,我做的比如这个<%=config.Title> 这个就能解析成"我的标题"(注,config,通过 重写onInint方法从数据库得到全局配置信息),可是放到如 ,最后运行页面通过firedebug看还是<%=config.SiteKeywords%>,rnrnrnrnrnrn这里是config获取的数据方法,页面类是basicpage:system.web.ui.page,然后别的页面都引用basicpage,从而可以用configrnrnprotected override void OnInit(EventArgs e)rn rn BllConfig bllconfig = new BllConfig();rn config = bllconfig.getModel();rn base.OnInitComplete(e);rn
图片有的机器能显示有的不能显示
rnrn根据datagrid显示相应的线性图rnDataGrid1.DataSource = dt.DefaultView rn ctrlChart1.DataSource = dt.DefaultView rn ctrlChart1.DataField = "a5"rn ctrlChart1.YStart = OcvPoint rn ctrlChart1.YLine = O_CL & ";"rn ctrlChart1.YLine &= O_UCL & ";"rn ctrlChart1.YLine &= O_LCL & ";"rnctrlChart1在有的机器上能显示有的不能显示rn而起他不能显示,我图片的右键,把他的属性的地址copy下来,放在一个单独的IE里能打开rn这是为什么,先谢了
有的机器能上网,有的机器不能上网
局域网原来是通过ISA代理共享上网,后改用路由器上网rn现在的问题是有的机器不可以上网(设置静态IP和动态获取都不可以).rn是否是因为两个DHCP服务器造成的(路由器和原来的代理服务器都设置了DHCP服务)?rn如何能让每台机器都可以自动获取IP上网?
服务器上的网站有的电脑能登陆,有的不能
服务器上的网站有的电脑能登陆,有的不能访问,动态的,静态的都不能访问。rn服务器FTP帐号有的电脑连上能登陆,有的连都连不上(LEAPFTP和CUTEFTP都连不上,直接用IE也连不上)。郁闷。是不是我们的服务有问题rn问题补充:应该不是人家访问者电脑的问题,应该是我们服务器的问题的。rnrnrn请各位大哥赐教~QQ:63373542
EL/ONGL表达式取值,有的能取到,有的不能
ssh中 分页查询中,我将dao层获取到的数据输出,是一个project实体类的一个列表,从service层将dao层获取的列表拿来,将之传给action,action中输出列表仍然正常显包含这两个值,但是传入jsp中,无论如何都无法输出这两个值。          我仔细从头到尾检查,结果发现问题出在DAO层,数据库字段名称和实体类字段名称不一致导致。数据库字段名称为:p_start,p_e
奇怪的问题,远程桌面有的能连上有的不能连
公司有3台服务器,A,B,C,都是win2003 serverrn然后各自的机器001,002,003,004...rnrn彼此间都能ping通,都是同局域网内的机器rnrn远程连接rn001,002的机器能远程访问A,B,但连不上CrnA,B远程访问C,也连不上rnrn003,004机器能远程访问A,B,Crnrnrn所以现在的问题是有的能连上去C,有的连不上rn不是远程桌面问题,也不是C网络问题,连接数也没问题rn(把防火墙,杀毒软件等都关闭了)rnrnrn有没人遇到过这情况??
退出excel,有的机器能成功,有的不能???
if( mExcel_App->Workbooks->Count <= 0)rn rn mExcel_App->Workbooks->Close(LCID);rn mExcel_App->set_DisplayAlerts(LCID,false);rn Sleep(1000);rn [color=#FF0000]mExcel_App->Quit();[/color]rn Sleep(2000);rn mExcel_App->Disconnect();rn delete mExcel_App;rnrn mExcel_App = NULL; ////rnrn rnrn这段代码有的机器执行没问题,有的却退不出excel,不知道为啥?????????rn
vb 有的摄像头能打开,有的不能打开,请问什么原因?
我用avicap32.dll做了一个vb小程序,采集摄像头的视频信号,并拍照。用笔记本自带的摄像头和微软品牌的一款摄像头都成功了,后来换了一个牌子叫“奥尼”的摄像头之后却不能在vb打开,VB界面就是一团黑。而用这个摄像头,在“我的电脑”里面直接打开,摄像头就一点问题没有,这是什么原因呢,如何解决,请高手指点!!
nginx 速度慢, 有的图片能读取,有的不能,
nginx 速度慢, 有的图片能读取,有的不能,但是同样的部署文件在本地测试速度快。rnrn本地 : win10 , 服务器 : win2008R2rnrn本体跟服务器还有不一样的话,服务器里安装了 IIS7.rn求大牛解答。 下面nginx.conf 代码rnrnrn#user nobody;rnworker_processes 1;rnrn#error_log logs/error.log;rn#error_log logs/error.log notice;rn#error_log logs/error.log info;rnrn#pid logs/nginx.pid;rnrnrnevents rn worker_connections 65535;rnrnrnrnhttp rn include mime.types;rn default_type application/octet-stream;rnrn rn charset utf-8;rnrn #access_log logs/access.log main;rnrn sendfile on; rn rnrn keepalive_timeout 65;rnrnrn gzip on; rn gzip_min_length 1000; rn gzip_types text/plain text/css application/x-javascript; rnrnproxy_set_header Host $host; rnproxy_set_header X-Real-IP $remote_addr; rnproxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;rnproxy_redirect off;rnclient_max_body_size 1000M; rnclient_body_buffer_size 256k; rnproxy_connect_timeout 600; rnproxy_send_timeout 600; rnproxy_read_timeout 6000; rnproxy_buffer_size 128k; rnproxy_buffers 4 256k; rnproxy_busy_buffers_size 256k; rnproxy_temp_file_write_size 1024k;rnrn upstream localhost rn server localhost:8080; rn rnrn server rn listen 80; rn server_name localhost;rnrn #charset koi8-r;rnrn #access_log logs/host.access.log main;rn rnrn location / rn root /root; rn index index.jsp index.html index.htm;rn proxy_pass http://localhost; rn rn rn error_page 500 502 503 504 /50x.html;rn location = /50x.html rn root html;rn rnrnrn location ~* \.(?:jpg|jpeg|gif|png|ico|cur|gz|svg|svgz|mp4|ogg|ogv|webm|htc)$ rn expires 15d;rn access_log off;rn #add_header Cache-Control "public";rn break;rn rnrn location ~ .*\.(js|css)?$rn rn expires 1d;rn access_log off;rn #add_header Cache-Control "public";rn break;rn rn rnrnrn
相关热词 c# stream 复制 android c# c#监测窗口句柄 c# md5 引用 c# 判断tabtip 自己写个浏览器程序c# c# 字符串变成整数数组 c#语言编程写出一个方法 c# 转盘抽奖 c#选中treeview