首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

java SWT:自定义布局(Layout)实现组件自动缩放显示

一般的UI框架都提供了一些默认布局,比如SWT中的FillLayout,GridLayout…如果使用WindowBuilder开发UI,可以在Design界面下看到所有SWT提供的布局对象,见下图...上一节讲完Layout的实现思路,下面就以以一个实例来说明如何实现自定义布局。...比如下面的图中矩形框,并不是画在背景图上的,而是背景透明的Composite,可以移动和改变尺寸(如何实现,参见我的上一篇博客《 java SWT入门:自定义背景透明且可鼠标拖动改变尺寸和位置的Composite...》) 这些矩形用于对图像中的人脸位置进行标注,我们希望当图像大小和位置改变的时候,这些矩形在图像上的相对位置保持不变。...ActiveRectangle对象能根据父窗口的尺寸改变而同步等比例改变, * 以保持每一个矩形在父窗口上的相对位置不变 * @author guyadong *

1.7K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    faster rcnn:assert (boxes >= boxes).all()分析塈VOC2007 xml坐标定义理解

    在解决这个问题的过程中也搞清楚了,VOC2007 xml标注格式中矩形坐标的定义方式。...的矩形标注坐标是以1为基准的(1-based),而我们在处理图像坐标都是0起始的(0-based)。...根据上面的python代码最后一行,就可以推断应该是: xmax=x+w-1,ymax=y+h-1 之前一直被java.swt.RectangularShape中的getMaxX(),getMaxY...所以生成xml时,矩形坐标的计算应该如下java代码: // dom4j生成annotation xml的java代码片段(AnnRect为java.swt.Rectangle的子类) /**...矩形越界 如果你已经注意到了上面的这个问题,已经将你的标注xml中的坐标统一为1-based坐标了,但在执行训练的时候还是会有上面的Assert错误,那么就要好好检查你的标注数据中,是不是有超出图像范围的矩形

    2.2K50

    java SWT:限制数值输入的Text文本框通用组件

    其实利用Float,Integer,Double这些类的静态方法valeOf(String)就能准确进行检查,valeOf(String)方法将一个字符转为对应类型的数字,如果格式不对就会抛出NumberFormatException...,(删除字符时text为空字符串) 有了这三个数据,用java.lang.StringBuffer就可以构造出事件发生后,Text文本的内容,然后就可以用valueOf方法来验证输入的数据是否有效。...NumText.java package net.gdface.ui; import org.eclipse.swt.events.VerifyEvent; import org.eclipse.swt.events.VerifyListener...Setting.java package net.gdface.ui; import org.eclipse.swt.widgets.Dialog; import org.eclipse.swt.widgets.Display...); tbtmEditor.setText("矩形编辑器"); Composite composite = new Composite(tabFolder, SWT.NONE

    1.5K10

    前端canvas基础复习,canvas学习笔记,持续记录

    Canvas基础 1.介绍 Canvas API(画布)是在HTML5中新增的标签用于在网页实时生成图像,并且可以操作图像内容,基本上它是一个可以用JavaScript操作的位图(bitmap)。...4.擦除(clearRect) clearRect()通过把像素设置为透明以达到擦除一个矩形区域的目的。...4.使用多层画布去画一个复杂的场景 某些对象需要经常移动或更改,而其他对象则保持相对静态。在这种情况下,可能的优化是使用多个元素对您的项目进行分层。...5.用 CSS 设置大的背景图 如果像大多数游戏那样,你有一张静态的背景图,用一个静态的元素,结合background 特性,以及将它置于画布元素之后。...1.1矩形的捕获 如果鼠标点击坐标落在矩形上,则说明捕获了这个矩形;如果鼠标点击坐标没有落在矩形上,则说明没有捕获到这个矩形。

    2.4K40

    第05步《前端篇》第1章创建第一个小游戏项目第2课

    学习目标 学习画布如何创建画布,如何清空画布,如何绘制矩形; 学习如何绘制网像,了解如何实现动画; 学习如何进行人机交互; 从整体上理解微信小游戏是如何运行的,如何展示界面并与用户进行交互的; 学习如何命名变量...在画布上,可以使用 Canvas.getContext("2d")获取 2D 渲染上下文对象RenderingContext,继而再用 RenderingContext对象的fillRect 方法绘制几何矩形...重新设置画布的宽和高可以清空画布,此外调用 RenderingContext.clearRect 方法也可以达到同样目的。 如何绘制图像?...所谓的动画就是静态图片的快速叠加和切换。 在HTML5开发中,一般通过定时器和requestAnimationFrame方法实现动画效果。...在实现动画时,使用requestAnimationFrame创建动画,在效率上优于setInterval和setTimeout。 小结 所谓人机交互,就是获取用户的互动消息,然后及时做出反馈。

    1.1K20

    【愚公系列】《微信小程序与云开发从入门到实践》022-canvas(画布)组件及应用

    微信小程序的canvas(画布)组件为开发者提供了强大的绘图能力,使得在小程序中自由创作和展示各种图形、动画和图像成为可能。...}); }, draw: function() { this.canvasContext.fillStyle = "red"; // 设置矩形填充颜色 this.canvasContext.fillRect...通过当前画布上的内容生成图片数据,仪支持在 2D 模式下使用 createPath2D Path2D path: 路径对象...运行上述示例代码,将在页面上的画布上渲染出一个 100 x 100 的红色正方形。图显示绘制的红色正方形。...绘图上下文对象中封装了许多属性和方法用来进行绘图配置,例如设置画笔颜色、设置填充颜色、绘制矩形、圆形、贝塞尔曲线、文字等。在需要使用时,可以参考相关文档。

    11910

    java SWT:MouseEvent,KeyEvent中stateMask字段的用法

    SWT.BUTTON_MASK是所有鼠标按钮的组合掩码 这两个常量都在org.eclipse.swt.SWT类的静态初始化代码中被赋值 BUTTON_MASK = BUTTON1 |...有些特定的事件中,statMask对应的状态是检测不到的: 比如按下shift+鼠标左健,在org.eclipse.swt.events.MouseAdapter中的mouseDown方法中,...事件刚正发生,所以stateMask中SWT.BUTTON1对应的状态位还没有设置为1 但是按下shift+鼠标左健移动鼠标时,在org.eclipse.swt.events.MouseMoveListener...同理shift+鼠标左健后,释放鼠标左键,在org.eclipse.swt.events.MouseAdapter中的mouseUp方法中 e.stateMask和e.button的状态是e.button...为简化代码,将常用的判断写成了静态方法如下: StateMaskUtilits.java package net.gdface.ui; import org.eclipse.swt.SWT; /

    93620

    java SWT:基于Composite定制背景透明的浮动图像按钮(image button)

    SWT.TRANSPARENT样式进行初始化,SWT.TRANSPARENT指定透明背景 如果不指定SWT.TRANSPARENT样式,当按钮在有图像的组件之上时这样的效果 ?...org.eclipse.swt.widgets.Shell; import java.net.MalformedURLException; import java.net.URL; import org.eclipse.swt.SWT...SWT对图像背景透明的设置有几种方式,本文中我选择了最简单的一种,就是指定图像中某种颜色(本例为白色)为透明色。...因为jpeg是有损压缩格式,会破坏纯色的背景色,所以这种透明方式对于jpeg格式的图像效果不好。 所以建议使用png,bmp等无损压缩格式来存储图像文件。...,修正按钮在图像上浮云时效果不正确的问题 关于图像透明色的设置参考: 《Java Source Code: com.asprise.books.javaui.ch15.Transparency》

    2K20

    Qml开发中的性能Tips(翻译文)

    如果您确实需要启用Image的smooth属性,请在动画开始时禁用平滑处理,并在动画结束时重新启用它(仅当图像在屏幕上静止时,缩放瑕疵才可见)。...1.6 避免由多个元素组成图像 由单个图像组成的图像比由多个元素组成图像效率更高。 例如,可以使用放置在提供阴影的图像上的矩形来创建具有阴影的图像。 提供包括框架和阴影的图像效率更高。...如果您需要绘制背景,但是具有覆盖屏幕一部分的静态UI元素,您仍然可以使用Item作为根元素并在这些静态项之间锚定一个Rectangle。这样你就不会做无用的绘画。...4.1 在过渡动画中尽可能为屏幕的小区域设置动画 如果您需要在一秒钟内移动3个元素,请尝试每次移动300毫秒。该系统可以计算需要重新绘制的项的边界,并在这些边界内绘制所有内容。...4.2 避免复杂的裁剪 您应该只在真正需要的时候启用裁剪clip功能。默认clip值为false。 如果启用了裁剪,则Item将把自己的绘制以及其子项的绘制裁剪到其边界矩形。

    5K32

    熬夜总结了 “HTML5画布” 的知识点(共10条)

    效果动画,加载Loading: H5游戏效果: 对于Canvas需要掌握: 使用Canvas画直线,矩形,圆形以及设置它们的样式。 Canvas中的图形变换,渐变,文字和图片。...一般把静态场景绘制在离屏canvas上,更新动态场景的时候,把静态场景copy过来,而不是重新绘制。...: 使用drawImage()方法可以将图像添加到Canvas画布中,绘制一幅图像,需要有三个重载的方法: 使用: drawImage(image, x, y) // 在画布上定位图像 // 方法在画布上绘制图像...sourceX 开始剪切的x坐标位置 sourceY 开始剪切的y坐标位置 sourceWidth 被剪切图像的宽度 sourceHeight 被剪切图像的高度 destX 在画布上放置图像的 x 坐标位置...destY 在画布上放置图像的 y 坐标位置 destWidth 要使用的图像的宽度 destHeight 要使用的图像的高度 插入图像: function Draw() { // 获取canvas

    7.6K10

    熬夜总结了 “HTML5画布” 的知识点(共10条)

    翻译过来是画布的意思 Canvas元素用于在网页上绘制2D图形和图像 Canvas使用的场景有:1,动画;2,H5游戏;3,图表。 效果动画,加载Loading: ? H5游戏效果: ?...静态场景绘制特别耗资源,动态场景绘制简单。为了不每次更新动态场景的时候,都去绘制静态场景。 一般把静态场景绘制在离屏canvas上,更新动态场景的时候,把静态场景copy过来,而不是重新绘制。...使用drawImage()方法可以将图像添加到Canvas画布中,绘制一幅图像,需要有三个重载的方法: 使用: drawImage(image, x, y) // 在画布上定位图像 // 方法在画布上绘制图像...sourceX 开始剪切的x坐标位置 sourceY 开始剪切的y坐标位置 sourceWidth 被剪切图像的宽度 sourceHeight 被剪切图像的高度 destX 在画布上放置图像的 x 坐标位置...destY 在画布上放置图像的 y 坐标位置 destWidth 要使用的图像的宽度 destHeight 要使用的图像的高度 插入图像: ?

    7.1K21

    Canvas之鼠标滑动特效

    我们可以认为 标签只是一个矩形的画布。JavaScript 就是画笔,负责在画布上画画。 Canvas 解决了什么问题? 在互联网出现的早期,Web 只不过是静态文本和链接的集合。...但是图像一直是静态的,人们越来越希望在其网站和应用程序中使用动态媒体(如音频、视频和交互式动画等),于是 Flash 就出现了。...但是随着 Web 应用的发展,出现了 HTML5,在 HTML5 中,浏览器中的媒体元素大受青睐。...包括出现新的 Audio 和 Video 标签,可以直接将音频和视频资源放在 Web 上,而不需要其他第三方。 其次就是为了解决只能在 Web 页面中显示静态图片的问题,出现了 Canvas 标签。...它是一个绘图表面,包含一组丰富的 JavaScript API,这些 API 使你能够动态创建和操作图像及动画。

    1.9K10

    《Android游戏编程之从零开始》笔记「建议收藏」

    第二种 利用Regin对画布设置可视区域 10. 动画 角色的移动,爆炸的效果,过场的特效等。...、RotateAnimation 第二种 自定义动画 a 在游戏逻辑处理中调整x和y轴坐标 b 利用帧动画 c 剪切图动画 最常用 动态物体的动作帧全部放在一张图片中,通过设置可视区域完成...第二种:触点位置在大圆外,小圆中心在大圆的圆周上,但小圆所在大圆上的角度,应该等同于用户触点位置相对于大圆的角度。...实际使用中,需要通过摇杆控制游戏主角的移动,首先将整个360°分成4或8等分 2.多触点实现图片缩放 3.触屏手势识别 根据玩家接触屏幕时间的长短、在屏幕上滑动的距离、按下抬起的时间等包装,就是触屏事件监听...质量density:当物体质量设置为0时,物体视为静态物体,没有外力不会发生运动的物体。 摩擦力friction:取值通常设置0~1之间,0没有摩擦,1最强摩擦。

    1.3K21

    简单的canvas绘图

    getContext() 方法可返回一个对象,该对象提供了用于在画布上绘图的方法和属性。可以绘制路径、字符、添加图像、绘制图形(矩形、圆形)、制作照片、创建动画、甚至可以进行实时视频处理或渲染等。...4.动画:游走的点 在 canvas 上绘制内容是用 canvas 提供的或者自定义的方法,而通常,我们仅仅在脚本执行结束后才能看见结果,比如说,在 for 循环里面做完成动画是不太可能的。...属性设置或返回如何将一个源(新的)图像绘制到目标(已有的)的图像上。...源图像 = 你打算放置到画布上的绘图。...目标图像 = 你已经放置在画布上的绘图 #### 下图是globalCompositeOperation 属性值的实例 蓝色为目标(已有到)图像 , 红色为源(新到)图像 ?

    2.3K20

    用计算机制作flash动画教案,Flash动画制作教案

    教学方法: 讲授法,演示法 教学过程: 一:打开Flash 软件 “开始”菜单―――“程序”―――Flash MX 2004 Flash可以用来制作静态图像和可互动的动画,可以任意缩放不失真,文件体积不大...绘制一蓝色边框,红色填充色的矩形。选择矩形绘图工具,调整好边框及填充颜色,按住Shift键绘制正方形。 2. 使用线条工具,按住Shift键绘制正方形的两条对角线。...(注:移动过程中避免色块的重叠) 四:构建运动造型 使用绘制完成的七巧板,构建运动造型。借助箭头工具来移动,定位板块。使用任意变形工具旋转板块。使用菜单命令进行水平及垂直翻转。...高中信息技术《Flash动画制作》教案二: 课题:Flash动画制作——计算机动画制作初步 教学目标: 1:将原来静态的跑步姿态的图形加工为动态的跑步造型。...教学重点: 将原来静态的跑步姿态的图形加工为动态… 发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/131232.html原文链接:https://javaforall.cn

    1K20

    【QT】图形视图、动画框架

    () //为图形项设置焦点 QGraphicsScene::focusItem() //获取当前获得焦点的图形项 QGraphicsScene::render() //将场景中的一部分渲染到绘图设备上...(); return app.exec(); } 图形项 QGraphicsItem是场景中图像项的基类,图形项框架为典型的形状提供了标准的图像项,比如矩形QGraphicsRectItem...一个图像项可以接收悬停事件,当鼠标进入它的区域之中时,它就会收到一个QGraphicsSceneHoverEnter事件,鼠标在图像项的区域移动时,QGraphicsScene就会向该图像项发送GraphicsSceneHoverLeave...该框架是通过控制Qt的属性来实现动画的,可以应用在窗口的部件和其他QOBject对象上,也可以应用在图像视图框架中。...动画框架的主要类关系图如下: 缓和曲线 使用 enum QEasingCurve::Type来设置缓和曲线,枚举值如下: 动画组 使用QAnimationGroup类可以实现复杂的动画,它的两个子类

    1.6K30

    画布就是一切(一)— 画布编程的基本模式

    我们现在知道,矩形的位置与大小是已有的值。那么鼠标在canvas中的x、y怎么获得呢?事实上,我们可以给canvas添加鼠标移动事件(mousemove),从移动事件中获取鼠标位置。...:鼠标不断在canvas上进行移动,移动的过程中,鼠标在矩形外部移动的时候,控制台会不断的输出文本:mouse in rect: false,而当鼠标一旦进入了矩形内部,控制台则会输出:mouse in...:将鼠标从canvas的外部移动进入,在初始的情况下,canvas中并没有矩形显示,只有在鼠标移动进入canvas以后才显示。...简单来讲,requestAnimationFrame(callbackFunc),这个API调用的时候,只是告诉浏览器,我在请求一个操作,这个操作是在动画帧渲染发生的时候进行的,至于什么时候发生的动画帧渲染交由浏览器底层完成...在本例中,这问题凸显的效果看出不出,但是试想如果我们在输入更新的时候,修改了矩形的x或y值,就会发现画布上会有多个矩形图像了(因为上一个位置的矩形已经被“画”在画布上了)。

    26820
    领券