純前端html實現圖片坐標與尺寸(XY坐標及寬高)獲取

純前端html實現圖片坐標與尺寸(XY坐標及寬高)獲取。用于證書圖片或pdf打印的坐標測定。?

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<title>純html前端實現圖片坐標與尺寸(XYWH)獲取</title>
<meta name="author" content="yujianyue, 15058593138@qq.com">
<style>#image-container {position: relative;display: inline-block;}#image {width: 100%;border: 2px dashed red;height: auto;}#rectangle {position: absolute;border: 2px dashed red;box-sizing: border-box;display: none;}input,button { font-size:22px;color:blue;}input { width:33vw;}
</style>
</head>
<body>
<p>純html前端實現圖片坐標與尺寸(XYWH)獲取(異常刷新本頁)</p>
<p><button id="uploadButton">上傳圖片</button>
<input type="file" id="imageUpload" accept="image/*" style="display:none;">
<input type="text" id="jieguo" value="先選圖,然后圖內類似截圖式:鼠標點下不放開拖動。"></p><div id="image-container"><img id="image" alt="背景圖"><div id="rectangle"></div>
</div><script >
console.log("問題反饋電話:","15058593138");
console.log("問題反饋郵件:","15058593138@qq.com");
function $(objId){return document.getElementById(objId);}
const imageContainer = $('image-container');
const image = $('image'); const rectangle = $('rectangle');
const imageUpload = $('imageUpload');
const uploadButton = $('uploadButton');
let startX, startY, initialMouseX, initialMouseY;// 初始化背景圖
image.src = '202403.png';// 監聽文件選擇事件
imageUpload.addEventListener('change', function(event) {const file = event.target.files[0];if (file) {const reader = new FileReader();reader.onload = function(e) {image.src = e.target.result;};reader.readAsDataURL(file);}
});// 監聽上傳按鈕點擊事件
uploadButton.addEventListener('click', function() {imageUpload.click();
});imageContainer.addEventListener('mousedown', (event) => {$('jieguo').value = ``; //innerHTMLconst rect = image.getBoundingClientRect();initialMouseX = event.clientX - rect.left;initialMouseY = event.clientY - rect.top;startX = initialMouseX;  startY = initialMouseY;rectangle.style.left = `${startX}px`;rectangle.style.top = `${startY}px`;rectangle.style.width = `8px`;rectangle.style.height = `8px`;rectangle.style.display = 'block';
});imageContainer.addEventListener('mousemove', (event) => {if (event.buttons === 1) {const rect = image.getBoundingClientRect();const currentMouseX = event.clientX - rect.left;const currentMouseY = event.clientY - rect.top;const width = Math.abs(currentMouseX - startX);const height = Math.abs(currentMouseY - startY);rectangle.style.width = `${width}px`;rectangle.style.height = `${height}px`;rectangle.style.left = `${Math.min(startX, currentMouseX)}px`;rectangle.style.top = `${Math.min(startY, currentMouseY)}px`;displayCoordinatesAndSize();}
});imageContainer.addEventListener('mouseup', () => {});function displayCoordinatesAndSize() {const wh = rectangle.offsetWidth;  const ht = rectangle.offsetHeight;const lf = rectangle.offsetLeft;  const tp = rectangle.offsetTop;console.log(`坐標:(${lf},${tp}),寬高:${wh},${ht}`);  $('jieguo').value = `坐標:X${lf}Y${tp},寬高:W${wh}H${ht}`; //innerHTML
}
</script>
</body>
<!--
參考用途:(輔助)以下系統的坐標測定。
pdf電子準考證查詢下載系統(實證效果可照片)V1.0
php在線生成pdf選民證系統支持中文(小工具)
PHP生成pdf格式準考證帶照片完整示范
-->
</html>

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/bicheng/89482.shtml
繁體地址,請注明出處:http://hk.pswp.cn/bicheng/89482.shtml
英文地址,請注明出處:http://en.pswp.cn/bicheng/89482.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

飛睿UWB超寬帶定位測距技術,數字鑰匙重塑智能生活,高精度厘米級定位無感解鎖

最近&#xff0c;數字鑰匙領域動作頻頻&#xff0c;科技巨頭與車企正掀起一波創新浪潮。小米15S Pro搭載恩智浦UWB芯片&#xff0c;用戶靠近閘機即可無感通行深圳云巴一號線&#xff0c;輕觸小米YU7車門自動解鎖&#xff0c;實現手機-汽車-公共交通的無縫數字鑰匙生態。在智能家…

基于springboot+vue+mysql平臺的醫療病歷交互系統(源碼+論文)

一、開發環境 相關技術介紹 B/S模式分析 C/S模式&#xff1a;主要由客戶應用程序(Client)、服務器管理程序(Server)和中間件(middleware)三個部件組成。客戶應用程序是系統中用戶與數據組件交互。服務器程序負責系統資源&#xff0c;如管理信息數據庫的有效管理。中間件負責連…

arm架構,arm內核,處理器之間的關系

一、情景分析 我們經常說&#xff0c;stm32f103是采用cotex-M3內核&#xff0c;基于armv7架構設計的。 那么&#xff0c;stm32f103、cotex-M3、armv7之間有什么關系呢&#xff1f; 二、層次分析 1. 架構&#xff08;Architecture&#xff09; 定義&#xff1a;架構是處理器…

基于PHP的招投標系統_603gk

目錄具體實現截圖課程項目技術路線開發技術介紹PHP核心代碼部分展示系統測試詳細視頻演示/源碼獲取具體實現截圖 課程項目技術路線 招投標系統后端采用 PHP 語言搭配Thinkphp或者 Laravel 框架&#xff0c;PHP 語法簡潔且功能強大&#xff0c;Laravel 或者Thinkphp框架能優化代…

深入解析 JavaScript 中的 `$.ajax()`:專業指南與實戰示例

文章目錄一、為什么需要 $.ajax()&#xff1f;二、核心語法解析三、關鍵參數深度剖析四、實戰示例&#xff1a;從基礎到進階五、錯誤處理最佳實踐六、性能與安全優化七、現代替代方案對比八、總結作為網站編輯&#xff0c;我將帶您深入剖析 jQuery 的 $.ajax() 方法。本文不僅涵…

Flutter 前端開發中的常見問題全面解析

Flutter 開發中的常見問題全面解析一篇給 Flutter 開發者「靈兒」里里外外都能看的問題項。從基礎開發到打包上線&#xff0c;每一步都充滿坑&#xff0c;我們詳細列出「環環盜光」的那些場景和解決思路&#xff01;【基礎系統】開發環境問題 1. flutter doctor 報錯 常見錯誤:…

STM32 單片機的停車場管理系統設計與實現

基于 STM32 的停車場管理系統設計與實現摘要隨著城市汽車保有量的快速增長&#xff0c;停車場管理的效率與智能化水平愈發重要。本文設計并實現了一套基于 STM32 單片機的停車場管理系統&#xff0c;整合車輛檢測、車位引導、計費管理及信息交互等功能。系統以 STM32 為控制核心…

STM32 寫選項字 關鍵要加載HAL_FLASH_OB_Launch

AI亂寫&#xff0c;還是得自己來&#xff01;void Write_OptionBytes_IWDG_STDBY(void) {FLASH_OBProgramInitTypeDef OBInit;HAL_FLASHEx_OBGetConfig(&OBInit); // 獲取當前選項字節配置[6,7](ref)// 檢查當前nRST_STDBY位&#xff08;IWDG_STDBY相關位&#xff09;是否…

153.在 Vue 3 中使用 OpenLayers + Cesium 實現 2D/3D 地圖切換效果

&#x1f3ac; 效果演示截圖 ? 前言 在實際項目開發中&#xff0c;我們經常需要提供「二維地圖 三維地形」的可視化效果切換&#xff0c;例如&#xff1a; 智慧農業展示耕地分布 三維地形起伏&#xff1b; 智慧城市展示建筑物點位 三維城市&#xff1b; 數字孿生場景中&…

純C++11實現!零依賴貝葉斯情感分析系統,掌握機器學習系統工程化的秘密!

本文深度剖析了一個完全基于C++11標準庫實現的貝葉斯情感分析系統。該系統采用模塊化設計,實現了從文本預處理、特征提取到樸素貝葉斯分類的完整機器學習流水線。 1. 系統架構概覽 1.1 技術棧選擇與設計哲學 該系統完全采用C++11標準庫實現,無任何外部依賴,體現了"純…

Android原生Dialog

在原生android里面&#xff0c;有兩種dialog寫法&#xff0c;一種是直接使用里面提供的AlertDialog.Builder方法去使用&#xff0c;另一種是我們自己根據自己的ui來設計&#xff08;自定義&#xff09;。在一般開發中&#xff0c;我們主要使用的是自定義&#xff0c;主要是Aler…

Nacos 開源 MCP Router,加速 MCP 私有化部署

作者&#xff1a;正己 Nacos MCP Router 簡介 Nacos MCP Router 是一個基于 MCP 官方 SDK 開發的標準 MCP Server&#xff0c;為 MCP Client 提供 MCP Server 的智能搜索、安裝、代理等功能&#xff0c;極大地簡化了 MCP 服務的使用流程。同時&#xff0c;Nacos MCP Router 跟…

【趙渝強老師】Redis的主從復制集群

Redis的主從復制是指將一臺Redis服務器的數據&#xff0c;復制到其他的Redis服務器。前者稱為Master主節點&#xff0c;后者稱為Slave從節點。數據的復制是單向的&#xff0c;只能由主節點到從節點。在默認情況下每臺Redis服務器都是主節點。一個主節點可以有多個從節點或者沒有…

Git 子模塊只更新部分模塊的問題排查總結

Git 子模塊只更新部分模塊的問題排查總結 問題描述 在執行 git submodule update --init --recursive 命令時&#xff0c;雖然 .gitmodules 文件中定義了 3 個子模塊&#xff0c;但只有 handy-ollama 被更新&#xff0c;其他兩個子模塊沒有被處理。 > git submodule upda…

React 源碼7:Lane、React和schedule優先級轉換

在《源碼3》requestUpdateLane函數根據eventLane獲取不同情況對應優先級。一、優先級1.Lane的tag一共有32種lane。var TotalLanes 31; var NoLanes /* */ 0; var NoLane /* */ 0; var SyncLane /* …

Linux RDMA Maillist patchsets (Jul. 7 - Jul. 13, 2025)

1. Optimize DMABUF Mkey Page Size in mlx5 優化 mlx5 中的 DMABUF Mkey 頁大小 This patch series enables the mlx5 driver to dynamically select the optimal page size for DMABUF-based memory keys (mkeys), rather than relying on a fixed page size during registr…

Maven詳細解

Maven 工具介紹 Maven是Apache組織下的一個跨平臺的項目管理工具&#xff0c;它主要用來幫助實現項目的構建、測試、打包和部署。Maven 提供了標準的軟件生命周期模型和構建模型&#xff0c;通過配置就能對項目進行全面的管理。它的跨平臺性保證了在不同的操作系統上可以使用相…

Springboot兒童攝影服務91f0v(程序+源碼+數據庫+調試部署+開發環境)帶論文文檔1萬字以上,文末可獲取,系統界面在最后面。

系統程序文件列表項目功能&#xff1a;用戶,員工,攝影套餐,套餐系列,客片欣賞,攝影預約,攝影訂單,取片通知,攝影評價開題報告內容基于Spring Boot的兒童攝影服務系統設計與實現開題報告一、研究背景與意義隨著國家生育政策調整&#xff0c;兒童攝影市場需求呈現爆發式增長。以北…

vue-seo優化

一、為什么 Vue 需要專門做 SEO Vue 默認是客戶端渲染 SPA&#xff0c;首屏 HTML 幾乎為空&#xff0c;爬蟲抓取不到內容&#xff1b;即使 Googlebot 能執行 JS&#xff0c;也存在“渲染預算”與加載延遲問題 二、技術落地 4 條路線 場景技術選型實現要點適用內容更新頻…

DNS防護實戰:用ipset自動攔截異常解析與群聯AI云防護集成

問題場景 DNS服務器常成為黑客探測源IP的首選目標。攻擊者通過高頻DNS查詢獲取解析記錄&#xff0c;或利用異常請求觸發服務器響應&#xff0c;從而定位源站IP。傳統單IP攔截效率低下&#xff0c;難以應對分布式攻擊。 核心解決方案 ipset自動化攔截 ipset是iptables的擴展&…