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

【Java AWT 图形界面编程】使用鼠标滚轮缩放 Canvas 画布中绘制背景图像 ( 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 当前鼠标指针位置缩放中心 示例 )

一、鼠标滚轮缩放中心点设置当前鼠标中心点 - 要点分析 ---- 鼠标指针指向界面中 Canvas 画布某个位置 , Canvas 画布中绘制着一张超大图片 , 该位置中心 , 滑动鼠标滚轮时进行缩放...垂直方向比例 仍然保持不变 , 那就需要移动图片位置 ; 如果放大图片就需要将图片往左上方移动 ; 如果缩小图片就需要将图片往右下方移动 ; 此时可以分析出 , 如果要实现 鼠标滚轮缩放中心点设置当前鼠标中心点...在鼠标滚轮缩放完成后 , 再根据鼠标指针指向位置和比例 , 结合图片缩放后尺寸 , 重新计算画布偏移位置 , 达到鼠标指向图片元素位置基本保持不变目的 ; /** * 计算新比例...+ 鼠标拖动 + 鼠标滚轮缩放 + 当前鼠标指针位置缩放中心 示例 ---- 1、代码示例 import javax.swing.*; import java.awt.*; import java.awt.event.MouseAdapter...H 标识放置在界面中心 ; 将鼠标指针放在 H 位置 , 缩放 , 发现此时缩放 , 就是以当前鼠标指针中心进行缩放 ;

2.7K10

图像偏色检测算法,速度快,效果好,共享给大家。      式中 ,M、 N分别为图像宽和高,像素单位。在 a - b色度平面上,等效中心坐标 ( da , db ) ,半径 M 。等效

方便大家理解,这里还是从这些论文里摘取些具体过程予以描述。   ...经过对正常图像和偏色图像分析发现,如果在ab色度坐标平面上直方图中,色度分布基本上单峰值,或者分布较为集中,而色度平均值D又较大时,一般都存在色偏,而且色度平均值越大,色偏越严重。...因此引入等效概念 ,采用图像平均色度 D和色度中心距 M比值 ,即偏色因子 K来衡量图像偏色程度。其计算方法如下式 ? ?      式中 ,M、 N分别为图像宽和高,像素单位。...在 a - b色度平面上,等效中心坐标 ( da , db ) ,半径 M 。等效中心到 a - b色度平面中性轴原点 ( a = 0, b = 0)距离 D 。...由等效在 a - b色度平面上具体位置,来判断图像整体偏色。da > 0,偏红,否则偏绿。db > 0,偏黄,否则偏蓝。引入偏色因子 K, K值越大 ,偏色越严重。

2.9K80
您找到你想要的搜索结果了吗?
是的
没有找到

Canvas实现progress效果

所以分享下一个简单Canvas插件   Canvas元素是HTML5一部分,允许脚本语言动态渲染位图像,你可以使用javascript用它来绘制图形、图标、以及其它任何视觉性图像。...context.arc(x, y , r, sAngle, eAngle, counterclockwise); 参数 x:中心 x 坐标。 y:中心 y 坐标。 r:半径。...sAngle:起始角,弧度计。(弧圆形三点钟位置是 0 度)。 eAngle:结束角,弧度计。 counterclockwise:可选。规定应该逆时针还是顺时针绘图。...参数 text:要测量文本 ---- fillText 定义:在画布上绘制填色文本 context.fillText(text, x, y, maxWidth); 参数 text:规定在画布上输出文本...x:开始绘制文本 x 坐标位置(相对于画布)。 y:开始绘制文本 y 坐标位置(相对于画布)。 maxWidth:可选。允许最大文本宽度,像素计。

1.2K10

Canvas实现progress效果

所以分享下一个简单Canvas插件   Canvas元素是HTML5一部分,允许脚本语言动态渲染位图像,你可以使用javascript用它来绘制图形、图标、以及其它任何视觉性图像。...context.arc(x, y , r, sAngle, eAngle, counterclockwise); 参数 x:中心 x 坐标。 y:中心 y 坐标。 r:半径。...,该对象包含像素计指定字体宽度。...参数 text:要测量文本 fillText 定义:在画布上绘制填色文本 context.fillText(text, x, y, maxWidth); 参数 text:规定在画布上输出文本...x:开始绘制文本 x 坐标位置(相对于画布)。 y:开始绘制文本 y 坐标位置(相对于画布)。 maxWidth:可选。允许最大文本宽度,像素计。

1.5K70

Canvas 实现 progress 效果

所以分享下一个简单Canvas插件,Canvas元素是HTML5一部分,允许脚本语言动态渲染位图像,你可以使用javascript用它来绘制图形、图标、以及其它任何视觉性图像。...context.arc(x, y , r, sAngle, eAngle, counterclockwise); 参数 x:中心 x 坐标。 y:中心 y 坐标。 r:半径。...,该对象包含像素计指定字体宽度。...参数 text:要测量文本 fillText 定义:在画布上绘制填色文本 context.fillText(text, x, y, maxWidth); 参数 text:规定在画布上输出文本...x:开始绘制文本 x 坐标位置(相对于画布)。 y:开始绘制文本 y 坐标位置(相对于画布)。 maxWidth:可选。允许最大文本宽度,像素计。

1.9K00

OpenCV 图像处理:常用绘图函数

文章目录 opencv中绘图函数 1.线段绘制 2.矩形绘制 3.,椭圆绘制 绘制 椭圆绘制 4.多边形绘制 5.添加文字 6.综合图像绘制 opencv中绘图函数 1.线段绘制 cv2.line...椭圆绘制 绘制 cv2.circle(img, pts, radius, color, thickness, linetype) 参数说明: img :待绘制图像。...椭圆结束角度 import numpy as np import cv2 # 创建一张黑色背景图 img=np.zeros((512,512,3), np.uint8) # 在图中心画一个填充半圆...import numpy as np import cv2 # 创建一张黑色背景图 img=np.zeros((512,512,3), np.uint8) # 绘制一条线宽5线段 cv2.line...),(0,255,0),3) # 画一个填充红色,参数2:圆心坐标,参数3:半径 cv2.circle(img,(447,63), 63, (0,0,255), -1) # 在图中心画一个填充半圆

86520

Google Earth Engine ——边界线识别!

CHT 通常配方是: 使用高斯卷积平滑输入 使用 Canny 边缘检测器执行边缘检测 迭代图像像素,每个输入像素绘制一个给定半径到一个累加器图像中。...找出累加器中最高值;这些将对应于输入中任何中心。 要了解 CHT 工作原理,请考虑下图,其中输入(左)中 4 个像素被描绘半径0.6*r(中心)和半径1.0*r(右)。...CHT 示例,追踪并求和原始(左) 4 个点,半径 0.6*r(中心)和 1.0*r(右)。 如果完全不重叠,则累加器 1。...当它们与另一个重叠时,累加器 2,而它们都在中心重叠时,其值 4。即高点对应于原始或半径中心r。...输入图像(左)位移 4 次,并以 0.6*r(中心)和 1.0*r(右)位移半径求和。

10410

【Java AWT 图形界面编程】使用小键盘按键缩放 Canvas 画布中绘制背景图像 ( 键盘按键监听 + 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 当前鼠标指针位置缩放中心 示例 )

一、键盘按键监听 - 要点分析 ---- 如果要为 Java AWT 界面编程应用设置键盘按键监听 , 必须 Frame / JFrame 窗口设置键盘监听 , 组件设置是无效 ; 下面是设置键盘监听核心代码...} }); 二、键盘按键监听 + 绘制超大图像 + 鼠标拖动 + 鼠标滚轮缩放 + 当前鼠标指针位置缩放中心 示例 ---- 在 【Java AWT 图形界面编程】Canvas 中绘制超大图片..., 如 缩小画布后 , 移动鼠标 , 移动距离对应缩放效果也随之缩小 ; 在 【Java AWT 图形界面编程】使用鼠标滚轮放大缩小 Canvas 画布中绘制背景图像 ( 鼠标滚轮事件监听器 MouseWheelListener...| Canvas 中绘制图像并设置图像大小 ) 博客中 , 使用缩放背景图像方式 , 实现缩放效果 , 并同时福袋鼠标指针拖拽效果 ; 本博客中实现案例 , 在上面的基础上 , 添加了鼠标滚轮缩放中心点设置当前鼠标中心点...H 标识放置在界面中心 ; 将鼠标指针放在 H 位置 , 点击一次 , 按下数字键 9 , 放大 9 倍效果如下 :

1.8K20

opencv(4.5.3)-python(四)--绘图

代码 在上述所有的函数中,你会看到一些常见参数,如下所示。 • img : 你想绘制形状图片 • color : 形状颜色。对于BGR,一个元组形式传递,例如。(255,0,0)表示蓝色。...这一次我们将在图像右上角画一个绿色矩形。 cv.rectangle(img,(384,0),(510,128),(0,255,0),3) 绘制 要画一个,你需要它中心坐标和半径。...绘制椭圆 为了绘制椭圆,我们需要传递几个参数。一个参数是中心位置(x,y)。接下来参数是轴长度(主轴长度,小轴长度)。角度是椭圆在逆时针方向旋转角度。...cv.polylines() 可以用来绘制多条线。只要创建一个你想画所有线条列表并把它传给函数。所有的线都将被单独绘制。与每条线调用cv.line()相比,这是一个更好更快绘制一组线方法。...在图像中添加文本 要在图像中添加文本,你需要指定以下事项: • 你想写文本数据 • 你想放位置坐标(例如,左下角数据开始地方)。

86520

在编程中发现数学之美——使用python和Processing绘制几何图形

前面两个参数200和100定义这个圆心所在位置。200是圆心x坐标,100是y坐标。后面两个参数定义椭圆宽度和高度,像素单位。...现在你了解了在processing中如何绘制,为了创建动态交互式图形,我们还需要学习图形位置和变换,让我们从位置开始。...600×600像素,设置背景颜色白色。...还需要找到这个等边三角形中点,使三角形围绕着它中心旋转。要实现这些,我们需要确定等边三角形三个顶点坐标。想一想,在确定一个等边三角形中心之后,如何绘制这个等边三角形?...绘制多个旋转三角形 现在你学会了如何绘制旋转单个三角形,我们需要找到将多个三角形放在一个办法。这和前面学过将方块放在方法类似,这次我们使用tri函数。

5.8K11

【python-opencv】绘图(目标检测框及其置信度等)

一些常见参数,如下所示: img:您要绘制形状图像 color:形状颜色。对于BGR,将其作为元组传递,例如:(255,0,0)对于蓝色。对于灰度,只需传递标量值即可。 厚度:线或粗细。...如果对闭合图形(如)传递-1 ,它将填充形状。默认厚度= 1 lineType:线类型,是否8连接线,抗锯齿线等。默认情况下,8连接线。...cv.polylines()可用于绘制多条线。只需创建要绘制所有线条列表,然后将其传递给函数即可。所有线条将单独绘制。与每条线调用cv.line相比,绘制一组线是一种更好,更快方法。...向图像添加文本: 要将文本放入图像中,需要指定以下内容。 - 您要写入文字数据 - 您要放置它位置坐标(即数据开始左下角)。...绘制厚度3矩形框,传入左上角和右下角坐标 cv.rectangle(img,(384,0),(510,128),(0,255,0),3) # 绘制一个,传入中心点坐标以及半径 cv.circle

1.7K10

C#中使用OpenCvSharp4绘制直线、矩形、文本

C#中使用OpenCvSharp4绘制直线、矩形、文本 继之前Python中使用Opencv-python库绘制直线、矩形、文本和VC++中使用OpenCV绘制直线、矩形、和文字,将之前Python...Windows下安装OpenCvSharp4库描述,如下图所示: 二、C#中使用OpenCvSharp4绘制直线、矩形、文本 1、使用VS2022创建一个C# .Net控制台程序,项目命名为OpenCVExample...、矩形、文本 对应C#代码如下: using OpenCvSharp; using System; namespace OpenCVExample { public class Program...img, new Point(0, 0), new Point(250, 350), new Scalar(0, 0, 255), 2); // (400,50)中心绘制半径...30,颜色青色(绿+蓝=青(Cyan)) Cv2.Circle(img, new Point(400, 50), 30, new Scalar(255, 255, 0),

6400

CorelDRAW 2019 软件应用项目(三)

今天做这个案例,用到是新工具,新经验不可多得,再次写一篇文章,更深层次了解这个软件里面的其他工具 目录 新建纸张 绘制底纹 表格工具 圆形底纹 参考线 绘制辅助...,按 Ctrl 绘制正圆,复制它并粘贴按住 ctrl 可以水平拖动拖动到你认为和这个相切位置,选中你刚刚画那两个复制再粘贴继续按住 ctrl 就可以垂直向下移动 3.参考线 每一个都有一个字体中心点...,我们可以把参考线直接移到中心点上,横向三条,纵向两条,不然我们就把一张 a4 纸平分成了,24 个小空间,也不能说是平分吧,至少有八个空间,面积是一致 4.绘制辅助 在这八个面积一致空间中,绘制四个面积一样...,你直接在那个相交部分,填充白色,并且鼠标右击顺序,可以调整到图像前面,或到图像后,其他字母都是这么做,但是,你要是把你刚才填充白色区域挪开,你会发现下面单词原有的蓝色还在 2.要怎么才能删除下面叠加蓝色区域呢...3.钢笔路径上文字应用我们用钢笔换一条曲线,点击文字工具,在钢笔上,我们发现和 PS 不同,他并没有反应,如果是这样情况,你就需要在文本菜单下点击使文本适合路径选项,然后再点击文字工具,到那条路径上就可以在上面输入文字了

65220

【OpenCV入门之十五】随心所欲绘制想要形状

radius:圆形半径。 color:线条颜色。 thickness:如果是正数,表示组成线条粗细程度。否则,表示是否被填充。 line_type:线条类型。...见 cvLine 描述 shift:圆心坐标点和半径值小数点位数。 画圆画点都是使用circle()函数来画,点就是,我们平常所说只不过是半径大一点而已。...text:待绘制文字 origin:文本左下角 fontFace:字体 (如cv::FONT_HERSHEY_PLAIN) fontScale:尺寸因子,值越大文字越大 color:线条颜色(...Mat,自带圆角 } void drawEllipse(){//绘制椭圆 Scalar color = Scalar(0, 255, 0); //绘制椭圆,参数:Mat,中心点,椭圆长短轴半径...contour(轮廓) fillPoly(src, ppts, npt, 1, color, LINE_8); } void drawText(){ //设置绘制文本相关参数 std

1.7K30

OpenCV二值图像案例分析精选 | 第二期

思路分析: 很多人看到这个图像第一印象其实感觉就是可以用霍夫变换检测得到,如果你是这么想,估计你应该很难做好,原因在于这个里面其实是有一系列同心,而且图像梯度干扰非常厉害。...要特别注意霍夫变换最大与最小半径两个参数设置。 最终代码实现运行如下: ? No.2 案例二 需求:截取图像ROI区域,去掉扫描文本空白区域,截取ROI区域 ?...思路分析: 主要是通过全局二值化结合图像形态学操作,实现ROI区域提取,然后通过轮廓发现,绘制ROI区域mask、得到mask之后。 最终代码实现运行如下: ?...思路分析: 看到图像,提取红色区域首先想到是色彩空间转换,HSV色彩空间对红色区分度比较好,通过inRange函数得到mask区域,会发现中心有一个白色洞、那个就是红色光线中心,通过轮廓分析,拟合得到中心位置...思路分析: 图像质量比较好,这个时候有两个思路,一个是通过图像分割,得到背景,然后对前景mask做分析,找出外部与内部轮廓,第二个是直接二值化(二值化是最简单图像分割)、然后通过形态学操作,对内部进行膨胀

81020
领券