精华内容
下载资源
问答
  • 互联网商业画布

    2017-12-11 10:44:02
    互联网商业画布互联网商业画布互联网商业画布互联网商业画布互联网商业画布互联网商业画布互联网商业画布互联网商业画布互联网商业画布互联网商业画布互联网商业画布互联网商业画布互联网商业画布互联网商业画布...
  • 商业画布模板

    2017-06-14 12:48:01
    商业画布模板
  • 商业画布

    千次阅读 2019-09-03 10:54:22
    什么是商业画布商业模式画布指一种能够帮助团队催生创意、降低猜测、确保他们找对了目标用户、合理解决问题的工具。商业模式画布使得商业模式可视化,使用统一的语言讨论不同商业领域。商业模式画布不仅能够提供更多...
    1. 什么是商业画布
      商业模式画布指一种能够帮助团队催生创意、降低猜测、确保他们找对了目标用户、合理解决问题的工具。商业模式画布使得商业模式可视化,使用统一的语言讨论不同商业领域。商业模式画布不仅能够提供更多灵活多变的计划,而且更容易满足用户的需求。更重要的是,它可以将商业模式中的元素标准化,并强调元素间的相互作用。
      商业画布由九个元素组成:

      商业画布需要从以下九个问题去思考:

      商业画布”也是一样,一个好的商业模式,需要去思考9个方面的问题:

      谁是你的用户?你的用户有什么特点?
      你可以为你的用户提供什么样的产品和服务?
      你通过什么渠道与你的客户接触?
      你与你的客户将建立一种什么样的关系?
      这套商业模式可以有哪些收入来源?
      你已经具有或者需要掌握怎样的核心资源?
      你需要开展哪些核心活动?
      你需要有哪些重要的合作伙伴?
      这套商业模式在哪些地方花钱?成本结构是怎样的?

    2. 对于商业画布的解释:

      价值主张:客户为什么选择了你而不是别人,我们能够为客户提供什么,能为用户创造什么价值?
          1 解决客户问题或者满足客户需要
          2 通过产品或者服务的捆绑迎合了特定客户群的需求
          3 颠覆式创新或者破坏式创新,增加了新特性或者属性
          4 传递给客户的价值是定量或者定性的。
              新颖,性能,定制化,身份定位,设计感等

      客户细分:
          我们的目标用户或者客户是谁?可以从以下几个维度去区分:使用者,影响者,推荐者,购买者,决策者
      客户细分有两个维度,横向和纵向。
          其中横向:用来描述一个企业想要接触和服务的不同人群和组织。客户的类型可以分为大众市场,利基市场,区隔化市场,多元化市场,多边平台或多边市场。
          纵向:从使用纵向维度来区分,又可以从下往上,最低层级到最高层级,依次为使用者,影响者,推荐者,购买者,决策者。


      关键活动:
      为了确保商业模式的可行性,必须采用的一些措施。

      渠道:主要指价值如何传递给客户,如沟通,分销,销售渠道(直接渠道,非直接渠道,销售队伍,自有店铺,合作伙伴店铺,在线销售,批发商等等。)等。
      企业需要关注以下问题:
      1 客户想通过哪些渠道和我们接触
      2 我们目前是怎么跟他们接触的
      3 我们的渠道是如何整合的
      4 哪种方式最好,最高效

      重要资源:
          企业自身所拥有的能力和资源,如技术,人才,知识。核心资源可以分为以下几类:
          1 实体资产 2 知识资产 3 人力资源 4 金融资产

      合作伙伴:企业核心业务所涉及的或者依赖的上下游服务商等。
          一般来说有四种重要的合作伙伴:
          1 非竞争者之间的战略联盟
          2 竞合关系
          3 为开发新业务而构建的合资渠道
          4 购买方和供应方
      成本结构-CS:
      运营一个商业模式所引发的所有成本。
      成本结构里包含固定成本,可变成本,市场费用,生产成本,技术授权,营运维护,财务成本等等。

      收入来源-RS:
      公司从每个客户群体获取的现金收入(包括一次性收入和经常性收入)。
      获取收入的方式包含资产销售,使用收费,订阅收费,租赁收费,授权收费,经纪收费,广告收费等等。

      客户关系:

    3. 九大模块的描述关系:

      九个模块描述的顺序大概是这样的:

      价值主张 → 客户细分 → 关键活动 → 渠道通路 → 客户关系 → 重要资源 → 合作伙伴 → 固定成本 → 收入来源

     

    在上述介绍的基础上补充产品的精益画布,思路基本差不多。

     

     

     

    变化比较大的主要是以下几个部分:

    1 问题==》重要伙伴

    2 解决方案==》关键活动

    3 门槛优势==》客户关系

     

    关于问题部分的陈述:

    提出三个你认为该产品解决的最核心的痛点,从而提出该产品的商业目标。

    例如摩拜解决的主要问题就是近距离的通行问题,打车贵,开车麻烦,走路又远。自己骑自行车维护管理又比较麻烦。

    有一个很有趣的说法是,“一款好的产品,所解决的痛点一定可以迎合人性七宗罪中的一种。”七宗罪指的是:好色、暴食、贪婪、懒惰、愤怒、嫉妒、骄傲。这其中确实有些合理之处,因为贪婪,产生了团购功能,红包功能,秒杀返现等等。因为嫉妒和骄傲,有了会员等级,勋章系统,排名和朋友圈等等。因为好色,有了直播,打赏,摇一摇等等需求。能够满足人性深处最原始的初衷,就不怕没有用户使用。

    按照马斯洛的需求理论同样,痛点需要能够对应到人的当前需求,基于此开发出的产品才是真正能解决用户问题的产品。

     

    展开全文
  • 实现功能:uniapp H5 使用画布,本地图片放到画布里面绘画,网络图片放到画布里面绘画 注:可以把图片转成base64,在线转换 下面看代码: 代码解析:avatar 是头像地址,用pathToBase64 转成Base64 ,base64_aimg...

    实现功能:uniapp  H5 使用画布,绘画完之后保存为图片全屏显示完整实现代码,跨域解决方案。

     

    跨域图片解决方案一:(使用base64编码)网络图片放到画布里面绘画

    跨域图片解决方案二:(使用本地图片)本地图片放到画布里面绘画

    一:网络图片跨域方案

    注:可以把图片转成base64, 在线转换 

    下面看代码:

    代码解析:avatar 是头像地址,用 pathToBase64 转成 Base64 , base64_aimg 是 Base64 数据,注意画布保存成图片的大小要写成屏幕大小,屏幕大小获取方式:

    	onLaunch: function(info) {
    		var that=this;
    		uni.getSystemInfo({
    		    success: function (res) {
    				that.windowWidth =res.windowWidth;
    				that.windowHeight =res.windowHeight;
    				
    		        console.log('----this---www',this.windowWidth);
    		    }
    		});
    		//网络状态监听
    		// network();
    		console.log('App Launch');
    	},

    画布相关代码

    <canvas style="" canvas-id="myCanvas" id="myCanvas"></canvas>
    
    
    	canvas {
    		background-color: #fff;
    		border: 1px solid #d0d0d0;
    		width: 100vw;
    		height: 100vh;
    		position: absolute;
    		left: 100%;
    	}
    <template>
    	<!--pages/poster/poster.wxml-->
    	<view class="page">
    		<canvas style="" canvas-id="myCanvas" id="myCanvas"></canvas>
    		<view class="container">
    			<image :src="tempFilePath" mode="widthFix"></image>
    		</view>
    	</view>
    </template>
    
    <script>
    	import {
    		IMAGES_PATH
    	} from '@/common/const.js';
    	import {
    		getPoster
    	} from '@/common/api.js';
    	import {
    		pathToBase64,
    		base64ToPath
    	} from '../../js_sdk/gsq-image-tools/image-tools/index.js'
    	import base64_img from "./base64_img.js";
    
    	export default {
    		data() {
    			return {
    				tempFilePath: ''
    			};
    		},
    		onLoad: function(options) {
    			var that = this;
    			var context = uni.createCanvasContext('myCanvas');
    			
    			getPoster(options.id)
    				.then(res => {
    					var {
    						img,
    						avatar,
    						nickname,
    						avatar_content,
    						active_describe
    					} = res.data.data || {};
    					var right_bottom_txt_base64 =
    						"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4kAAAFACAYAAAARVjkAAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6ODhCMjI1OTM3MDZFMTFFODg5MERFNUJDMDVGNUQwOTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6ODhCMjI1OTQ3MDZFMTFFODg5MERFNUJDMDVGNUQwOTYiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo4OEIyMjU5MTcwNkUxMUU4ODkwREU1QkMwNUY1RDA5NiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo4OEIyMjU5MjcwNkUxMUU4ODkwREU1QkMwNUY1RDA5NiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PnLlugMAAJa8SURBVHja7L1LcttK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"
    					pathToBase64(avatar)
    						.then(base64_avatar => {
    							// 背景底图
    							context.drawImage(base64_img[img], 0, 0, 200, 387, 400, 774)
    
    							// 用户昵称
    							context.setFillStyle('#233582');
    							context.fillText(nickname, 90, 132);
    
    							// 文字上面横线 1
    							context.setFillStyle('#233582')
    							context.fillRect(16, 146, 166, 1.2)
    
    							// 文字 判断长度换行处理
    							context.setFontSize(9)
    							if (active_describe.length > 18) {
    								let tt1 = active_describe.substr(0, 17);
    								let tt2 = active_describe.substr(17, active_describe.length - 1);
    								context.fillText(tt1, 16, 166);
    								context.fillText(tt2, 16, 181);
    							} else {
    								context.fillText(active_describe, 20, 166, 320);
    							}
    
    							// 文字下面横线 2
    							context.fillRect(16, 196, 166, 1.2)
    
    							// 右下角的文字用图片,因为在背景图的话会失真模糊
    							context.drawImage(right_bottom_txt_base64, 100, 230, 90, 30)
    
    							// 规定一个圆形的位置,里面放头像图片
    							let avatarurl_width = 40
    							let avatarurl_heigth = 40
    							let avatarurl_x = 80
    							let avatarurl_y = 80
    							context.arc(avatarurl_width / 2 + avatarurl_x, avatarurl_heigth / 2 + avatarurl_y,
    								avatarurl_width / 2,
    								0, Math.PI * 2, false)
    							context.clip()
    							context.drawImage(base64_avatar, avatarurl_x, avatarurl_y, avatarurl_width, avatarurl_heigth)
    							context.restore()
    
    							// 保存画布,生成图片指定大小的图片,并返回图片路径
    							// 有个坑 : H5端 Canvas 内绘制的图像需要支持跨域访问才能成功。(本代码的解决方案:把图片转成base64)
    							context.draw(true, () => {
    								uni.canvasToTempFilePath({
    									x: 0,
    									y: 0,
    									width: 200,
    									height: 387,
    									destWidth: getApp().windowWidth,
    									destHeight: getApp().windowHeight,
    									canvasId: 'myCanvas',
    									fileType: "jpg",
    									quality: 1,
    									success(res) {
    										console.log('绘制成功-------', res)
    										uni.hideLoading();
    										that.tempFilePath = res.tempFilePath;
    									},
    									fail(err) {
    										console.log('绘制失败', err)
    									}
    								});
    							});
    
    						})
    				})
    
    		},
    		methods: {
    			// 小程序的场景使用,小程序支持本地图片
    			getImageInfo(url) {
    				return new Promise(function(resolve, reject) {
    					uni.getImageInfo({
    						src: url,
    						success: function(res) {
    							console.log(res);
    							resolve(res);
    						},
    						fail: function(err) {
    							console.log(err);
    							uni.showToast({
    								title: '生成失败',
    								icon: 'none'
    							});
    						}
    					});
    				});
    			},
    			// 小程序的场景使用,长按保存图片
    			saveImg(e) {
    				let url = this.tempFilePath;
    				uni.saveFile({
    					tempFilePath: url,
    					success: function(res) {
    						var savedFilePath = res.savedFilePath;
    						uni.showToast({
    							title: "图片保存成功",
    							icon: "none"
    						});
    					}
    				});
    
    
    			},
    			// 小程序场景使用,获取图片信息,保存到相册
    			downImage() {
    				const url = this.images1;
    				uni.getImageInfo({
    					src: url,
    					success: res => {
    						let path = res.path;
    						uni.saveImageToPhotosAlbum({
    							filePath: path,
    							success: res => {
    								uni.showToast({
    									title: '保存成功',
    									icon: 'none'
    								});
    							},
    							fail: res => {
    								console.log(res);
    							}
    						});
    					},
    					fail: res => {
    						console.log(res);
    					}
    				});
    			}
    		}
    	};
    </script>
    
    <style>
    	canvas {
    		background-color: #fff;
    		border: 1px solid #d0d0d0;
    		width: 100vw;
    		height: 100vh;
    		position: absolute;
    		left: 100%;
    	}
    
    	.container {
    		width: 100vw;
    		align-items: center;
    		overflow: auto;
    		background: #fefefe;
    	}
    
    	.container image {
    		width: 100%;
    		position: absolute;
    		top: 0;
    	}
    </style>
    

    二:本地图片画布实现代码,画布保存为图片并显示在页面,全屏

    <template>
    	<view class="">
    		<canvas style="" canvas-id="myCanvas" id="myCanvas"></canvas>
    		<view class="container">
    			<image :src="tempFilePath" mode="widthFix"></image>
    		</view>
    	</view>
    
    </template>
    
    <script>
    	var that
    	export default {
    		data() {
    			return {
    				tempFilePath: ''
    			}
    		},
    		onReady(option) {
    			that = this;
    			const ctx = uni.createCanvasContext('myCanvas')
    
    			ctx.drawImage('../../static/sharePoster_bg.png', 0, 0, 200, 387)
    			ctx.draw(true, () => {
    				uni.canvasToTempFilePath({
    					x: 0,
    					y: 0,
    					width: 200,
    					height: 387,
    					destWidth: getApp().windowWidth,
    					destHeight: getApp().windowHeight,
    					canvasId: 'myCanvas',
    					fileType: "jpg",
    					quality: 1,
    					success(res) {
    						console.log('绘制成功-------', res)
    						uni.hideLoading();
    						that.tempFilePath = res.tempFilePath;
    					},
    					fail(err) {
    						console.log('绘制失败', err)
    					}
    				});
    			});
    		},
    		methods: {}
    	}
    </script>
    
    <style lang="scss" scoped>
    	canvas {
    			background-color: #fff;
    			border: 1px solid #d0d0d0;
    			width: 100vw;
    			height: 100vh;
    			position: absolute;
    			left: 100%;
    		}
    	 
    		.container {
    			width: 100vw;
    			align-items: center;
    			overflow: auto;
    			background: #fefefe;
    		}
    	 
    		.container image {
    			width: 100%;
    			position: absolute;
    			top: 0;
    		}
    </style>
    

     

    展开全文
  • android画布_Android画布

    2020-07-10 08:24:52
    android画布In this tutorial, we’ll be discussing a very important part of Android i.e. Canvas. It’s a territory which every developer prefers to stay away from. The reason for this tutorial is to ...

    android画布

    In this tutorial, we’ll be discussing a very important part of Android i.e. Canvas. It’s a territory which every developer prefers to stay away from. The reason for this tutorial is to make you more aware and at ease with the Android Canvas.

    在本教程中,我们将讨论Android的一个非常重要的部分,即Canvas。 这是每个开发人员都希望远离的领域。 本教程的目的是让您更加了解Android画布,并且更加放心。

    Android画布 (Android Canvas)

    Many times you end up in a scenario where you need to implement a custom View and/or animate it. It can happen that the requirements are so specific that you need to implement it from scratch. Canvas plays a vital role in building such Custom Views.

    很多时候,您最终会遇到需要实现自定义视图和/或对其进行动画处理的情况。 需求可能是如此具体,以至于您需要从头开始实施。 画布在构建此类自定义视图中起着至关重要的作用。

    A Canvas is a 2D drawing framework that provides us with methods to draw on the underlying Bitmap. A Bitmap acts as the surface over which the canvas is placed. The Paint class is used to provide colors and styles.

    Canvas是2D绘图框架,为我们提供了在底层位图上进行绘图的方法。 位图充当画布在其上放置的表面。 Paint类用于提供颜色和样式。

    Before we dig deep into Canvas, let’s look at the lifecycle of a Custom View.

    在深入研究Canvas之前,让我们看一下Custom View的生命周期。

    A Custom View consists of the following commonly used methods:

    自定义视图包含以下常用方法:

    onMeasure()
    onLayout()
    onDraw()

    Inside onMeasure we determine the size of the view and its children.

    onMeasure我们确定视图及其子视图的大小。

    Inside onLayout the size is assigned to the view.

    onLayout内部,将大小分配给视图。

    The onDraw method is where the canvas is drawn.

    onDraw方法是绘制画布的位置。

    A Canvas Object basically comes as a parameter inside the onDraw method.

    画布对象基本上是onDraw方法中的一个参数。

    The invalidate() method is used to redraw the view. It calls the onDraw method again. Typically, this is used when the text or color or view needs to be updated based on certain events.

    invalidate()方法用于重绘视图。 它再次调用onDraw方法。 通常,当需要根据某些事件更新文本或颜色或视图时,将使用此选项。

    The Canvas class contains methods to draw certain shapes just as line, arc, circle, over. Moreover, we can draw complex geometry too using Paths.

    Canvas类包含一些方法来绘制某些形状,例如直线,圆弧,圆形,上方。 此外,我们也可以使用Paths绘制复杂的几何图形。

    We can also draw text or just simply Paint color on the canvas too.

    我们也可以在画布上绘制文本或仅绘制颜色。

    Since canvas is drawn on the screen, views that are drawn need to be measured in terms of pixels (px).
    由于画布是在屏幕上绘制的,因此绘制的视图需要以像素(px)进行度量。

    Let’s look at how to draw basic stuff on Canvas through our sample android studio project.

    让我们看看如何通过示例Android Studio项目在Canvas上绘制基本内容。

    Android Canvas示例项目结构 (Android Canvas Example Project Structure)

    Android Canvas Basics Project

    Android Canvas Example Project

    Android Canvas示例项目

    To create a Path, two methods are important: moveTo() and lineTo().

    要创建路径,两个方法很重要: moveTo()lineTo()

    moveTo takes you to the coordinates you specify on the screen.

    moveTo将您带到您在屏幕上指定的坐标。

    lineTo draws a line from the current position to the one specified.

    lineTo从当前位置到指定位置绘制一条线。

    close() is used to close a path.

    close()用于关闭路径。

    画布坐标系如何工作? (How does the Canvas Coordinate System work?)

    In the canvas 0,0 is the top left point. As you move horizontally right the x coordinate increases.
    As you move vertically down the y coordinate increases in pixels.

    在画布中0,0是左上角。 当您向右水平移动时,x坐标会增加。
    当您垂直向下移动时,y坐标以像素为单位增加。

    Following diagram illustrates the same:

    下图说明了相同的内容:

    Android Canvas Coordinate System

    Android Canvas Coordinate System

    Android画布坐标系

    矩形与矩形 (Rect vs RectF)

    Rect object is used to create a rectangle in which each side is specified in integer value.
    RectF does the same but in float values.

    Rect对象用于创建一个矩形,其中每边均以整数值指定。
    RectF进行相同的操作,但使用浮点值。

    In the following example, we’ll see how to draw the various shapes and also use Paint to style them.

    在下面的示例中,我们将看到如何绘制各种形状以及如何使用Paint对其进行样式设置。

    Android Canvas示例代码 (Android Canvas Example Code)

    The code for the activity_main.xml layout is a basic root layout in which we’ll add our Canvas:

    activity_main.xml布局的代码是基本的根布局,我们将在其中添加Canvas:

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="https://schemas.android.com/apk/res/android"
        xmlns:app="https://schemas.android.com/apk/res-auto"
        xmlns:tools="https://schemas.android.com/tools"
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"
        tools:context=".MainActivity" />

    The code for the MainActivity.java is given below:

    MainActivity.java的代码如下:

    package com.journaldev.androidcanvasbasics;
    
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.widget.LinearLayout;
    import android.widget.RelativeLayout;
    
    public class MainActivity extends AppCompatActivity {
    
        LinearLayout linearLayout;
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            linearLayout = findViewById(R.id.linearLayout);
            MyView myView = new MyView(this);
            linearLayout.addView(myView);
        }
    }

    The MyView class is where we create our Custom View. Let’s finally draw on the Canvas!

    MyView类是我们创建自定义视图的地方。 让我们终于在画布上画画!

    package com.journaldev.androidcanvasbasics;
    
    import android.app.Activity;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.graphics.Path;
    import android.graphics.Point;
    import android.graphics.RectF;
    import android.graphics.Region;
    import android.util.DisplayMetrics;
    import android.view.View;
    
    public class MyView extends View {
    
        Paint mPaint, otherPaint, outerPaint, mTextPaint;
        RectF mRectF;
        int mPadding;
    
        float arcLeft, arcTop, arcRight, arcBottom;
    
        Path mPath;
    
    
        public MyView(Context context) {
            super(context);
    
            mPaint = new Paint();
            mPaint.setAntiAlias(true);
    
            mPaint.setStyle(Paint.Style.STROKE);
            mPaint.setColor(Color.BLUE);
            mPaint.setStrokeWidth(5);
    
    
            mTextPaint = new Paint(Paint.LINEAR_TEXT_FLAG | Paint.ANTI_ALIAS_FLAG);
            mTextPaint.setColor(Color.BLACK);
            mTextPaint.setTextSize(pxFromDp(context, 24));
    
            otherPaint = new Paint();
    
            outerPaint = new Paint();
            outerPaint.setStyle(Paint.Style.FILL);
            outerPaint.setColor(Color.YELLOW);
    
            mPadding = 100;
    
    
            DisplayMetrics displayMetrics = new DisplayMetrics();
    
            ((Activity) getContext()).getWindowManager()
                    .getDefaultDisplay()
                    .getMetrics(displayMetrics);
    
    
            int screenWidth = displayMetrics.widthPixels;
            int screenHeight = displayMetrics.heightPixels;
    
            arcLeft = pxFromDp(context, 20);
            arcTop = pxFromDp(context, 20);
            arcRight = pxFromDp(context, 100);
            arcBottom = pxFromDp(context, 100);
    
    
            Point p1 = new Point((int) pxFromDp(context, 80) + (screenWidth / 2), (int) pxFromDp(context, 40));
            Point p2 = new Point((int) pxFromDp(context, 40) + (screenWidth / 2), (int) pxFromDp(context, 80));
            Point p3 = new Point((int) pxFromDp(context, 120) + (screenWidth / 2), (int) pxFromDp(context, 80));
    
            mPath = new Path();
            mPath.moveTo(p1.x, p1.y);
            mPath.lineTo(p2.x, p2.y);
            mPath.lineTo(p3.x, p3.y);
            mPath.close();
    
            mRectF = new RectF(screenWidth / 4, screenHeight / 3, screenWidth / 6, screenHeight / 2);
    
        }
    
        @Override
        protected void onDraw(Canvas canvas) {
            super.onDraw(canvas);
    
            canvas.drawRoundRect(mRectF, 10, 10, otherPaint);
            canvas.clipRect(mRectF, Region.Op.DIFFERENCE);
            canvas.drawPaint(outerPaint);
    
            canvas.drawLine(250, 250, 400, 400, mPaint);
            canvas.drawRect(mPadding, mPadding, getWidth() - mPadding, getHeight() - mPadding, mPaint);
            canvas.drawArc(arcLeft, arcTop, arcRight, arcBottom, 75, 45, true, mPaint);
    
    
            otherPaint.setColor(Color.GREEN);
            otherPaint.setStyle(Paint.Style.FILL);
    
            canvas.drawRect(
                    getLeft() + (getRight() - getLeft()) / 3,
                    getTop() + (getBottom() - getTop()) / 3,
                    getRight() - (getRight() - getLeft()) / 3,
                    getBottom() - (getBottom() - getTop()) / 3, otherPaint);
    
    
            canvas.drawPath(mPath, mPaint);
            otherPaint.setColor(Color.BLACK);
            canvas.drawCircle(getWidth() / 2, getHeight() / 2, arcLeft, otherPaint);
    
            canvas.drawText("Canvas basics", (float) (getWidth() * 0.3), (float) (getHeight() * 0.8), mTextPaint);
    
        }
    
    
        public static float pxFromDp(final Context context, final float dp) {
            return dp * context.getResources().getDisplayMetrics().density;
        }
    
    }

    pxFromDp method is used to get the pixel equivalent of the dp value passed.

    pxFromDp方法用于获取与传递的dp值等效的像素。

    canvas.drawLine(250, 250, 400, 400, mPaint); simply draws a line from x1 y1 to x2 y2.

    canvas.drawLine(250, 250, 400, 400, mPaint); 只需从x1 y1到x2 y2画一条线。

    The following code is used to draw a rectangle at the center of the screen.

    以下代码用于在屏幕中心绘制一个矩形。

    canvas.drawRect(
                    getLeft() + (getRight() - getLeft()) / 3,
                    getTop() + (getBottom() - getTop()) / 3,
                    getRight() - (getRight() - getLeft()) / 3,
                    getBottom() - (getBottom() - getTop()) / 3, otherPaint);

    Inside the drawCircle method, the first two parameters passed are the coordinates of the center of the circle. The third parameter sets the radius for the circle.

    drawCircle方法内部,传递的前两个参数是圆心的坐标。 第三个参数设置圆的半径。

    clipRect clips the canvas with the rectangle. The last parameter sets the clipping region style.

    clipRect用矩形clipRect画布。 最后一个参数设置裁剪区域样式。

    Region.Op.DIFFERENCE sets the Paint on the region between the canvas and the rectangle specified in the clipRect method.

    Region.Op.DIFFERENCE将Paint设置在clipRect方法中指定的画布和矩形之间的区域上。

    Inside the drawText method the two float values set the origin position of the text. We’ve set it at 30 percent from the left and 80 % from the top of the screen.

    drawText方法内部,两个float值设置文本的原点位置。 我们将其设置为屏幕左侧的30%和屏幕顶部的80%。

    Why is Anti Alias flag needed in Paint?为什么在Paint中需要使用抗别名标志?
    An Anti alias flag ensures that the shape is smooth.
    反别名标志可确保形状平滑。

    How are the different shapes drawn on the canvas positioned relative to each other?

    画布上绘制的不同形状如何相对定位?

    画布Z顺序 (Canvas Z-Order)

    Elements are arranged on top of each other in the order in which they are drawn. Similar to a frame layout based on the z-order.

    元素按绘制顺序彼此排列。 类似于基于z顺序的框架布局。

    The output of the above application is given below:

    以上应用程序的输出如下:

    Android Canvas Basics Output 1

    Android Canvas Basics Output 1

    Android Canvas基础输出1

    Android Canvas Basics Output 2

    Android Canvas Basics Output 2

    Android Canvas基础输出2

    That brings an end to this tutorial. You can download the project from the link below:

    这样就结束了本教程。 您可以从下面的链接下载项目:

    翻译自: https://www.journaldev.com/25182/android-canvas

    android画布

    展开全文
  • Canvas画布

    2017-08-08 23:02:52
    Canvas画布

    Canvas画布

    展开全文
  • 商业模式画布 https://wiki.mbalib.com/wiki/%E5%95%86%E4%B8%9A%E6%A8%A1%E5%BC%8F%E7%94%BB%E5%B8%83 精益画布 https://wiki.mbalib.com/wiki/%E7%B2%BE%E7%9B%8A%E7%94%BB%E5%B8%83 使用场合 ...
  • 前端使用uniapp制作H5自定义海报,本来以为挺简单的一常用功能画布,因为之前也在 H5 和小程序做过类似功能,所以直接上手干了,没想到还是遇到了一些坑,特此记录希望能够帮到大家。 实现功能讲解: 海报实现的...
  • mxgraph 画布

    2019-09-27 09:01:15
    画布自动扩大/缩小计算: //得到所拖拽图形相对于画布的位置(-880,-100) var x = Math.ceil(bounds.x / this.view.scale - this.view.translate.x); var y = Math.ceil(bounds.y / this.view.scale - this....
  • 商业模式画布.pdf

    2019-11-27 18:23:42
    商业模式画布的培训材料,PPT转的PDF文档。非常详细的商业模式画布的介绍材料,含详细的制图、定义说明、示例。内部培训参考。
  • 精益画布和商业模式画布

    千次阅读 2018-05-16 22:05:24
    1 商业模式画布,关心的: 1) 重要伙伴 2)关键业务 3)核心资源 4)价值主张 5)客户关系 6)渠道通路 7)客户细分 8)成本结构 9)收入来源 2) 精益画布 1)问题 2) 解决方案 3)...
  • TAB画布开发

    2020-12-18 10:16:23
    TAB画布开发 1、TAB画布与其他的画布开发相似,使用Layout Wizard 新建一个TAB画布,并修改TAB_DEMO的子类属性tab_canvases,TAB_Pages的子类属性为tab_page 2、将所需要展示的ITEM放置到page中,实际上item只能...
  • 商业模式画布

    万次阅读 多人点赞 2018-07-22 18:52:11
    周四周五机缘巧合参加了一场关于商业模式画布的培训,第一次参加趋向于商业方向的培训,一开始并没有抱太大的期望。但是听完两天的课之后,第一次给培训的老师全是满分的评价,因为确实内容非常受用,两天的课程中即...
  • word绘图教程:画布、图形的关系和隐藏画布一、画布和图形的关系选择了一个具体图形工具后,word会弹出一个与页面各分栏宽度(除去上下左右边框、栏间距后剩余的空间)基本等宽的长方形画布(宽高比约为1.7:1),以及...
  • canvas 清除画布

    千次阅读 2019-09-19 17:16:39
    clearRect() 方法清空指定矩形内的canvas画布。 <!DOCTYPEHTML> <html> <head><title>canvas清空画布</title><metacharset="utf-8"/></head> <body> <div...
  • unity3d画布切换 了解Unity 3D画布 (Understanding the Unity 3D Canvas) The Canvas in Unity isn't a big painting board on a wooden frame. The Canvas is actually an area in the game where you can draw UI...
  • 创建画布

    千次阅读 2016-05-16 18:00:54
    在开发Web项目时,图片是前台页面不可缺少的组成部分,传统...创建画布  GD2函数库在图形图像绘制方面功能非常强大,开发人员即可以在已有的图片的基础上经行绘制,也可以在没有任何素材的基础上绘制,在这种情况下
  • visio调整画布大小和旋转画布

    千次阅读 2015-11-30 23:16:43
    1.调整画布大小: 鼠标移至画布边界(注意不能是顶点附近),按下ctrl,就会出现双向箭头,拖动鼠标即能调整画布大小。 2.旋转画布: 鼠标移至画布顶点或附近,按下ctrl, 出现单箭头优弧,移动鼠标...
  • 了解canvas画布

    千次阅读 2020-09-27 23:57:10
    画布是一个矩形区域,可以控制其每一像素 canvas 拥有多种绘制路径、矩形、圆形、字符以及添加图像的方法 二、canvas基本使用 添加canvas元素(创建画布) <canvas id="myCanvas" width="300" height="300"> ...
  • 在PS中,我们有时候会遇到扩展画布的场景,但是扩展完画布之后我们发现不能改变颜色,这可怎么办。 首先来看一下是什么样的问题: 这个背景是不能选择的。 问题分析:这是因为你创建的画布的时候颜色是透明...
  • Qt 高级画布

    2017-07-29 10:27:02
    Qt 高级画布实现功能实现方法 实现功能在画布的指定区域可绘,而不是对整块画布可以做绘图操作。 实现方法实现对整块画布可以绘制 加入条件,当鼠标在制定区域才会触发鼠标事件,否则不会记录鼠标轨迹 额外扩展画布...
  • Android 自定义画布 绘制 撤销 清空 ssssssssssssss
  • canvas 清空画布

    千次阅读 2019-10-23 16:17:30
    画布重用的时候,使用clearRect可以清空画布,我当时想,这样可以接着在画布上处理。 然而,在nw.js上做的时候,却有上次的残余。 影响用户体验度, 我是用的直接删除当前canvas然后新建的方式来达到擦出效果,...
  • echarts清理画布

    2020-05-07 13:44:50
    项目中有时候使用选择下拉框在同一个画布中显示不同的图表,这时候需要使用到echarts清理画布然后在重新设置数据,清除画布代码如下: echarts.init(document.getElementById(divId)).dispose(); 更多内容请扫码...
  • python创建画布_在空白画布上创建

    千次阅读 2020-07-24 10:24:16
    python创建画布Hackathons are one of the most unique and rewarding parts of working in creative technology. At their most rewarding, hackathons can be an experience that sees teams go from a completely...
  • vue 结合 fabric.js 用canvas画布画底图 实现鼠标拖动画布底图 实现鼠标滚动对画布底图进行放大缩小 2. 引入 fabric.js 2.1 npm 安装 npm install fabric --save 2.2 main.js 导入 import { fabric } from '...
  • HTML5 保存画布

    2018-04-25 22:00:37
    保存画布好不容易在画布中绘制出酷炫的图形,应该把它保存起来吧。但不幸的是,画布中的这些图形本身不是真正的图片,不能直接保存。不幸中的万幸,Canvas API提供了toDataURL()方法,可以把画布中的图形转换为图片...
  • css画布

    2016-07-21 13:07:13
    canvas 本意则就是画布的意思, 我们来看一看 canvas的属性 和方法 属性 描述 fillStyle 设置或返回用于填充绘画的颜色、渐变或模式 strokeStyle 设置或返回用于...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 138,095
精华内容 55,238
关键字:

如何画布