canvas

寒假第12天

家住魔仙堡 提交于 2020-02-12 21:39:59
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <style> #header{ width:98%; background-color:#e0e0e0; padding:50px 1% 50px 1%; } </style> <body> <div id=header> <div style="float:left;">系统管理</div> <div style="float:right;"><a href="">首页</a>   <a href="">退出登录</a></div> </div> <button >系统管理</button> <button >前台用户</button> <button >后台管理</button> </body> </html> <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html>

【WPF学习】第三十八章 行为

痴心易碎 提交于 2020-02-12 18:27:44
  样式提供了重用一组属性设置的实用方法。它们为帮助构建一致的、组织良好的界面迈出了重要的第一步——但是它们也是有许多限制。   问题是在典型的应用程序中,属性设置仅是用户界面基础结构的一小部分。甚至最基本的程序通常也需要大量的用户界面代码,这些代码与应用程序的功能无关。在许多程序中,用于用户界面任务的代码(如驱动动画、实现平滑效果、维护用户界面状态,以及支持诸如拖放、缩放以及停靠等用户界面特性)无论是在数量山还是复杂性上都超出了业务代码。许多这类代码是通用的,这意味着在创建的每个WPF对象中需要编写相同的内容。所有这些工作几乎都单调乏味的。   为回应这一挑战,Expression Blend创作者开发了称为行为(behavior)的特征。其思想很简单:创建封装了一些通用用户界面功能的行为。这一功能可以是基本功能(如启动故事板或导航到超链接),也可以是复杂功能(如处理多点触摸交互,或构建使用实时物理引擎的碰撞模型)。一旦构建功能,就可将它们添加到任意应用程序的另一个控件中,具体方法是将该控件链接到适当的行为并设置行为的属性。在Expression Blend中,只通过拖放操作就可以使用行为。 一、获取行为支持   重用用户界面的代码通用块得基础结构不是WPF的一部分。反而,它被捆绑到Expression Blend。这是因为行为开始时作为Expression

Html5/Js canvas capturing mouse coords when it moves fast

天涯浪子 提交于 2020-02-12 05:26:05
问题 I have a canvas where I draw a curve. onmouseup lines are drawn based on that curve and connecting specific x-points for it. The problem is that if the mouse is moved fast , not all of its points are captured . var canvas; var ctx; function drawCanvas(popup) { var flag = false; canvas = document.querySelector(popup + " #canvasG"); ctx = canvas.getContext('2d'); var sketch = document.querySelector(popup + " #canvasD"); var sketch_style = getComputedStyle(sketch); canvas.width = parseInt(sketch

[Android] Surface、SurfaceHolder与SurfaceView

元气小坏坏 提交于 2020-02-12 04:31:28
其实相当于MVC结构的三者关系: M ( Surface )、 V ( SurfaceView )、 C ( SurfaceHolder ) 1、Surface Handle onto a raw buffer that is being managed by the screen compositor. 简单翻译: Surface是原始图像缓冲区(raw buffer)的一个句柄,而原始图像缓冲区是由屏幕图像合成器(screen compositor)管理的。包含两层意思: (1)通过Surface(因为Surface是句柄)就可以获得原生缓冲器以及其中的内容。就像在C语言中,可以通过一个文件的句柄,就可以获得文件的内容一样; (2)原生缓冲器(rawbuffer)是用于保存当前窗口的像素数据的; (3)Surface中有一个Canvas成员,专门用于画图的。 可以认为Android中的Surface就是一个用来画图形(graphics)或图像(image)的地方。根据Java方面的常规知识,我们知道通常画图是在一个Canvas对象上面进行的,由此,可以推知一个Surface对象中应该包含有一个Canvas对象,事实上的确如此,而且这一点可以很容易通过debug运行程序的方式得到证明(将光标停留在对象变量surface上,会弹出一个对话框,其中红色方框的内容

Android中的Android中的Surface和SurfaceView

余生颓废 提交于 2020-02-12 04:21:35
一、什么是Surface 简单的说Surface对应了一块屏幕缓冲区,每个window对应一个Surface,任何View都要画在Surface上。传统的view共享一块屏幕缓冲区,所有的绘制必须在UI线程中进行。 在SDK的文档中,对Surface的描述是这样的:“Handle onto a raw buffer that is being managed by the screen compositor”,翻译成中文就是“由屏幕显示内容合成器(screen compositor)所管理的原始缓冲区的句柄”,这句话包括下面两个意思: 1、通过Surface(因为Surface是句柄)就可以获得原生缓冲器以及其中的内容。就像在C++语言中,可以通过一个文件的句柄,就可以获得文件的内容一样。 2、 原始缓冲区(a raw buffer)是用于保存当前窗口的像素数据的。 引伸地,可以认为Android中的Surface就是一个用来画图形(graphics)或图像(image)的地方。 根据Java方面的常规知识,我们知道通常画图是在一个Canvas对象上面进行的,由此,可以推知一个Surface对象中应该包含有一个Canvas(画布)对象。因此,在前面提及的两个意思的基础上,可以再加上一条: 3、Surface中有一个Canvas成员,专门用于画图的。 由以上的概括,我们总结如下

Android 自定义圆形图片 CircleImageView

孤街浪徒 提交于 2020-02-12 04:15:28
/*--> */ /*--> */ 1.效果预览 1.1.布局中写自定义圆形图片的路径即可    1.2.然后看一看图片效果    1.3.原图是这样的 @mipmap/ic_launcher    2.使用过程 2.1.CircleImageView源代码  public class CircleImageView extends AppCompatImageView { private static final ScaleType SCALE_TYPE = ScaleType.CENTER_CROP; private static final Bitmap.Config BITMAP_CONFIG = Bitmap.Config.ARGB_8888; private static final int COLORDRAWABLE_DIMENSION = 1; private static final int DEFAULT_BORDER_WIDTH = 0; private static final int DEFAULT_BORDER_COLOR = Color.BLACK; private final RectF mDrawableRect = new RectF(); private final RectF mBorderRect = new RectF();

Python学习笔记——图形用户界面(1)

♀尐吖头ヾ 提交于 2020-02-12 03:59:35
import tkinter win = tkinter . Tk ( ) win . title ( string = "吴宇翔为什么是一个傻逼?" ) tkinter . Label ( win , background = "SystemHighlight" , text = "关于吴宇翔为什么这么傻逼," ) . pack ( ) tkinter . Label ( win , background = "SystemScrollbar" , text = "这是公理无需证明。" ) . pack ( ) tkinter . Button ( win , padx = "2p" , text = "关闭" , command = win . quit ) . pack ( side = "bottom" ) win . mainloop ( ) import tkinter win = tkinter . Tk ( ) tkinter . Button ( win , relief = "ridge" , borderwidth = 5 , text = "关闭" , command = win . quit ) . pack ( ) win . mainloop ( ) import tkinter from tkinter import Label TEXT = [

Android中的Surface和SurfaceView

自闭症网瘾萝莉.ら 提交于 2020-02-12 03:13:35
转自:http://technicalsearch.iteye.com/blog/1967616 一、什么是Surface 简单的说Surface对应了一块屏幕缓冲区,每个window对应一个Surface,任何View都要画在Surface的Canvas上(后面有原因解释)。传统的view共享一块屏幕缓冲区,所有的绘制必须在UI线程中进行。 在SDK的文档中,对Surface的描述是这样的:“Handle onto a raw buffer that is being managed by the screen compositor”,翻译成中文就是“由屏幕显示内容合成器(screen compositor)所管理的原始缓冲区的句柄”,这句话包括下面两个意思: 1、通过Surface(因为Surface是句柄)就可以获得原生缓冲器以及其中的内容。就像在C++语言中,可以通过一个文件的句柄,就可以获得文件的内容一样。 2、 原始缓冲区(a raw buffer)是用于保存当前窗口的像素数据的。 引伸地,可以认为Android中的Surface就是一个用来画图形(graphics)或图像(image)的地方。 根据Java方面的常规知识,我们知道通常画图是在一个Canvas对象上面进行的,由此,可以推知一个Surface对象中应该包含有一个Canvas(画布)对象。因此

Android中的Surface和SurfaceView

只愿长相守 提交于 2020-02-12 03:07:36
一、什么是Surface 简单的说 Surface对应了一块屏幕缓冲区,每个window对应一个 Surface,任何View都要画在 Surface的 Canvas上(后面有原因解释)。传统的view共享一块屏幕缓冲区,所有的绘制必须在UI线程中进行。 在SDK的文档中,对Surface的描述是这样的:“Handle onto a raw buffer that is being managed by the screen compositor”,翻译成中文就是“由屏幕显示内容合成器(screen compositor)所管理的原始缓冲区的句柄”,这句话包括下面两个意思: 1、通过Surface(因为Surface是句柄)就可以获得原生缓冲器以及其中的内容。就像在C++语言中,可以通过一个文件的句柄,就可以获得文件的内容一样。 2、 原始缓冲区(a raw buffer)是用于保存当前窗口的像素数据的。 引伸地,可以认为Android中的Surface就是一个用来画图形(graphics)或图像(image)的地方。 根据Java方面的常规知识,我们知道通常画图是在一个Canvas对象上面进行的,由此,可以推知一个Surface对象中应该包含有一个Canvas(画布)对象。因此,在前面提及的两个意思的基础上,可以再加上一条: 3、Surface中有一个Canvas成员

Android中View和ViewGroup介绍

旧时模样 提交于 2020-02-12 02:33:46
1. 概念 Android 中的View与我们以前理解的“视图”不同。在 Android 中,View比视图具有更广的含义,它包含了用户交互和显示,更像Windows操作 系统 中的window。 ViewGroup是View的子类,所以它也具有View的特性,但它主要用来充当View的容器,将其中的View视作自己的孩子,对它的子View进行管理,当然它的孩子也可以是ViewGroup类型。 ViewGroup(树根)和它的孩子们(View和ViewGroup)以树形结构形成了一个层次结构,View类有接受和处理消息的功能,android系统所产生的消息会在这些ViewGroup和 View之间传递。 2. Android的窗口系统 Android的窗口系统是Client/Server模式的,我在这里只讲窗口系统的客户端(图1)。 我们所提到的概念:View,ViewGroup,DecorView,ViewRoot都是存在于窗口系统的Client端。 Android中的Window是表示Top Level等顶级窗口的概念。DecorView是Window的Top-Level View,这个View可以称之为主View,DecorView会缺省的attach到Activity的主窗口中。 ViewRoot建立了主View(DecorView)与窗口系统Server端的通讯桥梁,