导航:首页 > 操作系统 > androidcanvas画布大小

androidcanvas画布大小

发布时间:2023-05-09 13:06:55

android canvas.drawBitmap() 绘制图片大小的问题

你绘图的尘汪控件是不是足够大?像素密度有没有计算进去?bitmap直接可以判断大派拆仔小的,御颤单位是px。你打log把该输出的输出一下看看。

❷ android canvas 是像素吗

Canvas : 画布对象,相当于现实生活中画图用的 ‘纸 或 布’。
下面介绍来自于android学习手册,android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,排在第三、四个。
Android画图最基本的三个对象(Color,Paint,Canvas)
三个类都存放在 android.graphics包下
1) Color :颜色对象,相当于现实生活中的 ‘调料’
2) Paint : 画笔对象,相当于现实生活中画图用的 ‘笔’————主要的还是对‘画笔’进行设置
3) Canvas : 画布对象,相当于现实生活中画图用的 ‘纸 或 布’
三者相结合,就能画出基本的图形

❸ android实现一个简单的画布,可以用手指画线条。

public class DrawView extends View {
Context mycontext;
int toasttime = 1000*60;
boolean enabletoast = true;
//之前的坐标
float preX;
float preY;
//路径
private Path path;
//画笔
public Paint paint = null;
//默认画布大小
public static int VIEW_WIDTH = 500;
public static int VIEW_HEIGHT = 600;
//
Bitmap cacheBitmap = null;
//
Canvas cacheCanvas = null;

public DrawView(Context context, AttributeSet set) {
super(context, set);
mycontext = context;
cacheBitmap = Bitmap.createBitmap(VIEW_WIDTH, VIEW_HEIGHT,
Config.ARGB_8888);
cacheCanvas = new Canvas();

path = new Path();
cacheCanvas.setBitmap(cacheBitmap);

paint = new Paint(Paint.DITHER_FLAG);
paint.setColor(Color.WHITE);
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(1);
paint.setAntiAlias(true);
paint.setDither(true);
}

@Override
public boolean onTouchEvent(MotionEvent event) {
float x = event.getX();
float y = event.getY();

switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
path.moveTo(x, y);
preX = x;
preY = y;
break;
case MotionEvent.ACTION_MOVE:
path.quadTo(preX, preY, x, y);
preX = x;
preY = y;
break;
case MotionEvent.ACTION_UP:
cacheCanvas.drawPath(path, paint);
path.reset();
if(enabletoast == false){

}
break;
}
invalidate();
return true;
}

@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint bmpPaint = new Paint();
canvas.drawBitmap(cacheBitmap, 0, 0, bmpPaint);
canvas.drawPath(path, paint);
}

}

❹ android canvas 如何以厘米为单位

请参阅 TypedValue | Android Developers 。余卜敏这弊梁个类中的

complexToDimensionPixelSize(int data, DisplayMetrics metrics)

可以把mm转换成竖枝px。

❺ Android 怎么使用Bitmap+Canvas 自适应屏幕

我们可以使用Matrix 来放缩我们得到的Bitmap 从而使我们的BItmap适应我们的手机屏幕

首先我们得先获取我们的手机屏幕的大小

java">WindowManagerwm=(WindowManager)getContext().getSystemService(
Context.WINDOW_SERVICE);
intwidth=wm.getDefaultDisplay().getWidth();
intheight=wm.getDefaultDisplay().getHeight();

然后我们构造一个新的Matrix对象,自己完成写一个函数,如下:

publicBitmapresizeBitmap(Bitmapbitmap,intw,inth)
{
if(bitmap!=null)
{
intwidth=bitmap.getWidth();
intheight=bitmap.getHeight();
intnewWidth=w;
intnewHeight=h;
floatscaleWight=((float)newWidth)/width;
floatscaleHeight=((float)newHeight)/height;
Matrixmatrix=newMatrix();
matrix.postScale(scaleWight,scaleHeight);
Bitmapres=Bitmap.createBitmap(bitmap,0,0,width,height,matrix,true);
returnres;

}
else{
returnnull;
}
}

这样我们通过这个函数返回的Bitmap对象就是可以适应我们手机屏幕大小的了。。

❻ android canvas的drawText方法 如何设置字体大小和格式。

Canvas相当于画布,字体的大小格式在Paint上设置才正确, Paint 相当于画笔。代码如下,没有具体参数:

Paint paint = new Paint();

paint.setTextSize(textSize);//设置字体大小

paint.setTypeface(typeface);//设置字体类型

canvas.drawText(text, x, y, paint);//使用画笔paint

@Override

public void onDraw (Canvas canvas) {

Rect targetRect = new Rect(50, 50, 1000, 200);

Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);

paint.setStrokeWidth(3);

paint.setTextSize(80);

String testString = "测试:ijkJQKA:1234";

paint.setColor(Color.CYAN);

canvas.drawRect(targetRect, paint);

paint.setColor(Color.RED);

FontMetricsInt fontMetrics = paint.getFontMetricsInt();

(6)androidcanvas画布大小扩展阅读:

Screen Space - Camera

此模式类似Screen Space - Overlay,但区别是此模式将Canvas放置于某个Camera前固定距离。此Camera负责渲染所有UI元素,则摄像机参数(Camera Settings)直接影响UI表现。

比如Camera是透视模式(Perspective),则UI元素会基于Field of View的值而扭曲变形。同样的,若屏幕分辨率变更,或者视觉平截体(CameraFrustrum)改变,则Canvas自动调整自身尺寸作自适应。

❼ android canvas scale函数能扩大画布canvas大小吗

您好,很高兴能帮助您
感觉用 canvas scale函授后,canvas上的图像变大了,但是超出canvas的图缓租像没有了.... 是不是scale只改变图片,不改变canvas大小!
你的采扰唤兆纳是我前进的动力,
记得好评和采纳,答链档题不易,互相帮助,

❽ android绘图之Canvas基础(2)

Canvas画布,用于绘制出各种形状配合画布的变幻操作可以绘制出很多复杂图形,基本的绘制图形分类。
提供的绘制函数:

上面四个函数都可以绘制canvas的背景,注意到PorterDuff.Mode变量,它只对两个canvas绘制bitmap起作用,所以此处暂时不讨论mode参数(没有设置mode默认使用srcover porterff mode)。

Rect 和RectF都是提供一个矩形局域。
(1)精度不一样,Rect是使用int类型作为数值,RectF是使用float类型作为数值。
(2)两个类型提供的方法也不是完全一致。

**
rect:RectF对象,一个矩形区域。
rx:x方向上的圆角半径。
ry:y方向上的圆角半径。
paint:绘制时所使用的画笔。**

**
cx 圆心x
cy 圆心y
radius半径**

需要一个Path,代表路径后面会讲解。

绘制线的集合,参数中pts是点的集合,两个值代表一个点,四个值代表一条线,互相之间不连接。
offset跳过的点,count跳过之后要绘制的点的总数,可以用于集合中部分点的绘制。

跳过部分节点:

没有跳过点

RectF oval:生成弧的矩形,中心为弧的圆心
float startAngle:弧开始的角度,以X轴正方向为0度,顺时针
float sweepAngle:弧持续的角度
boolean useCenter:是否有弧的两边,True,还两边,False,只有一条弧

在矩形框内画一个椭圆,如果是个正方形会画出一个圆。

canvas.drawPoint();
canvas.drawPoints();

**
只需要提供两个点一个坐标就可以绘制点。
canvas.drawPoint(20,20,mPaint);
float[] points = {30,40,40,50,60,60};
canvas.drawPoints(points,mPaint);**

这几种方法类似:
canvas.drawText("好好学习,天天向上",100,100,mPaint);

drawTextOnPath
沿着一条 Path 来绘制文字
text 为所需要绘制的文字
path 为文字的路径
hOffset 文字相对于路径的水平偏移量,用于调整文字的位置
vOffset 文字相对于路径竖直偏移量,用于调整文字的位置
值得注意的是,在绘制 Path 的时候,应该在拐弯处使用圆角,这样文字显示时更舒服

大致讲解,后面会重点讲解。

Rect src
Rect dst
其中src和dst这两个矩形区域是用来做什么的?
Rect src:指定绘制图片的区域
Rect dst或RectF dst:指定图片在屏幕上的绘制(显示)区域
首先指定图片区域,然后指定绘制图片的区域。

android绘图之Paint(1)
android绘图之Canvas基础(2)
Android绘图之Path(3)
Android绘图之drawText绘制文本相关(4)
Android绘图之Canvas概念理解(5)
Android绘图之Canvas变换(6)
Android绘图之Canvas状态保存和恢复(7)
Android绘图之PathEffect (8)
Android绘图之LinearGradient线性渐变(9)
Android绘图之SweepGradient(10)
Android绘图之RadialGradient 放射渐变(11)
Android绘制之BitmapShader(12)
Android绘图之ComposeShader,PorterDuff.mode及Xfermode(13)
Android绘图之drawText,getTextBounds,measureText,FontMetrics,基线(14)
Android绘图之贝塞尔曲线简介(15)
Android绘图之PathMeasure(16)
Android 动态修改渐变 GradientDrawable

❾ Android 怎么使用Bitmap+Canvas 自适应屏幕

ndroid 使用Bitmap+Canvas自适应屏幕方法如下:

1、首先得先获取我们的手机屏幕的大小

3、这样通过这个函困祥羡数返回的Bitmap对象就是可以适应手机屏幕大小的了。。

❿ Android 绘图之Canvas相关API使用

Android 自定义控件或多或少都会用到Canvas,那么我们就需要熟悉它的API。Canvas给我们提供了大量的的DrawXXX方法,通过这些方法我们就可以绘制出我们想要的效果。接下来看看官方是怎么说的:

大致意思就是说:
Canvas类持有“draw”调用。 要绘制一些东西,你需要4个基本组件:一个位图来保存像素,一张画布(Canvas)来主持绘图调用(写入位图),一个绘图图元(如Rect,Path,text,Bitmap)和一支画笔(描述绘图的颜色和样式)。

首先介绍下画笔(Paint)的常用API:

Paint默认的字体大小为12px,在绘制文本时我们往往要考虑密度density设置合适的字体大小。画笔的默认颜色为黑色,默认的style为FILL,默认的cap为BUTT,默认的线宽为0。

单一颜色填充Canvas画布

以上就是大部分的绘制操作,当然还有一些没介绍到,还有一些需要在API21(5.0)以上才能使用,这个使用到的时候可以弄个小demo看下效果,接下来介绍下针对画布变换和画布裁剪做一些介绍。

在学习绘制操作的时候很多地方都使用到了translate 和rotate 这里就不再对它们进行操作

1.画布scale

2.画布skew

这里针对Canvas的API进行了一些说明,希望对大家有所帮助。没有添加完整工程上来,但是每一个方法都是实际跑过的,只需要在onDraw中调用就可以看到效果了。

阅读全文

与androidcanvas画布大小相关的资料

热点内容
exe打开指定文件夹 浏览:264
pdf里面怎么去水印 浏览:845
appleid账号加密码 浏览:220
苹果如何下载微仓app 浏览:916
迅雷解压进度为0 浏览:859
解压解惑近义词 浏览:316
压缩比不一样燃烧室不一样 浏览:101
androidbutton左对齐 浏览:172
怎么找到学校的服务器 浏览:368
android状态栏高度是多少 浏览:987
linuxcliphp 浏览:515
萝卜源码如何关闭用户注册验证 浏览:756
苹果手机头条app怎么没有tv 浏览:563
电脑qq文件夹怎么发不出去 浏览:614
解压小游戏测试钻石剑的硬度 浏览:964
java结束函数 浏览:623
打开远程桌面的命令 浏览:838
树莓派如何搭建mqtt服务器 浏览:589
怎么加密w8文件 浏览:611
linuxprogram 浏览:710