JS裁剪圖片底部的水印

效果

?

源碼?


<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Image Popup</title><style>#popup {display: none;position: fixed;z-index: 1000;left: 0;top: 0;width: 100%;height: 100%;overflow: auto;background-color: rgba(0, 0, 0, 0.8);}#popup img {margin: auto;display: block;max-width: 90%;max-height: 90%;}#popup:target {display: block;}#popupClose {position: absolute;top: 20px;right: 35px;color: #fff;font-size: 40px;font-weight: bold;text-decoration: none;}#popupClose:hover,#popupClose:focus {color: #bbb;text-decoration: none;cursor: pointer;}</style>
</head>
<body><img id="originalImage" src="" alt="Original Image" style="display:none;"><img id="croppedImage" src="" alt="Cropped Image" onclick="showPopup(this.src);"><div id="popup"><a href="#" id="popupClose">&times;</a><img id="popupImg" src="" alt="Popup Image"></div><script>function cropImage(url, cropHeight, callback) {const img = new Image();img.crossOrigin = 'Anonymous'; // Enable CORS if the image is hosted on a different domainimg.onload = function() {const canvas = document.createElement('canvas');const ctx = canvas.getContext('2d');const cropWidth = img.width;const effectiveCropHeight = img.height - cropHeight; // Fixed variable usagecanvas.width = cropWidth;canvas.height = effectiveCropHeight;ctx.drawImage(img, 0, 0, cropWidth, effectiveCropHeight, 0, 0, cropWidth, effectiveCropHeight);const croppedImageDataUrl = canvas.toDataURL();callback(croppedImageDataUrl);};img.onerror = function() {console.error('Failed to load image.');};img.src = url;}function showPopup(src) {const popupImg = document.getElementById('popupImg');popupImg.src = src;window.location.hash = 'popup';}// Example usageconst imageUrl = 'https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimage109.360doc.com%2FDownloadImg%2F2021%2F08%2F0420%2F227651986_4_20210804085322222&refer=http%3A%2F%2Fimage109.360doc.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=auto?sec=1719538441&t=a5b93bb2e329ccf76156ac82bd67e1ec';const watermarkHeight = 70; // Adjust this height to match the watermark heightcropImage(imageUrl, watermarkHeight, function(croppedImageUrl) {document.getElementById('originalImage').src = imageUrl;document.getElementById('originalImage').style.display = 'block';document.getElementById('croppedImage').src = croppedImageUrl;});</script>
</body>
</html>

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

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

相關文章

python dict字典

mapping 對象會將 hashable 值映射到任意對象。 映射屬于可變對象。 目前僅有一種標準映射類型 字典。 &#xff08;關于其他容器對象請參看 list, set 與 tuple 等內置類&#xff0c;以及 collections 模塊。&#xff09; 字典的鍵 幾乎 可以為任何值。 不是 hashable 的值&am…

2024.05.14 校招 實習 內推 面經

綠*泡*泡VX&#xff1a; neituijunsir 交流*裙 &#xff0c;內推/實習/校招匯總表格 1、校招 | 中核集團2025屆校園招聘提前批正式啟動&#xff01; 校招 | 中核集團2025屆校園招聘提前批正式啟動&#xff01; 2、實習 | 嵐圖汽車校園實習生招聘 實習 | 嵐圖汽車校園實習生…

達夢 結果拼接=多行結果返回一列字符串.

sql 轉換 查詢出多行數據 (select t.PROPERTY from JD_CODING t left join DELIVERY_OF c on t.VALUE c.TYPE where t.PROPERTY stackingType group by t.PROPERTY) 更改后 轉為一列的拼接字符串 ( select listagg( distinct t.PROPERTY,,) within group ( order by t.P…

MiniPCIe/SATA雙用插槽無法識別minipcie模塊怎么回事!

在計算機和嵌入式系統設計中,MiniPCIe/SATA雙用插槽作為一種高度集成的解決方案,提供了極大的靈活性與擴展能力。它不僅能夠支持MiniPCIe接口的無線網卡、固態硬盤控制器等模塊,還能適應SATA接口的硬盤或固態存儲設備,大大豐富了系統配置的可能性。盡管設計初衷良好,但在實…

bert模型用于二分類問題微調

使用bert-base-chinese預訓練模型對二分類問題進行微調 import pandas as pd from transformers import BertTokenizerFast, AutoModelForSequenceClassification, Trainer, TrainingArguments import torchmodel_name "./bert-base-chinese" path "./abuse_…

STP19NF20 絲印 19NF20 場效應管19A 200V 直插 TO-220

STP19NF20 功率MOSFET的應用領域相當廣泛&#xff0c;主要包括&#xff1a; 1. 電源管理&#xff1a;用于高效率電源管理電路&#xff0c;如直流-直流轉換器和交流-直流電源適配器。 2. 開關模式電源&#xff08;SMPS&#xff09;&#xff1a;在需要高效能和緊湊型尺寸的開關…

Ceph相關命令

關于osd自動重啟 /etc/crontab里面每隔2分鐘會調用 /etc/cron.daily/keep_osd.sh關閉osd 1 mv /etc/cron.daily/keep_osd.sh /etc/cron.daily/keep_osd.sh_back 2 systemctl stop ceph-osd0.service查看osd的參數 ceph daemon osd.0 config show |grep osd_op_num動態修改…

【學習】軟件測試小伙伴,這幾點助你提升軟件測試水平

在數字化時代&#xff0c;軟件已經無處不在&#xff0c;影響著我們的日常生活、工作乃至整個社會的運行。在這個背景下&#xff0c;軟件測試成為確保產品質量的關鍵環節&#xff0c;關乎用戶體驗和社會信任。本文將為您梳理一些關于軟件測試你必須了解的知識點&#xff0c;并闡…

JAVAEE之多線程進階(2)_ CAS概念、實現原理、ABA問題及解決方案

前言 在并發編程時&#xff0c;常常會出現線程安全問題&#xff0c;那么如何保證原子性呢&#xff1f;常用的方法就是加鎖。在Java語言中可以使用 Synchronized和CAS實現加鎖效果。 ?Synchronized關鍵字保證同步的&#xff0c;這會導致有鎖&#xff0c;但是鎖機制存在以下問題…

判斷GIF類型并使用ImageDecoder解析GIF圖

一、判斷是否為GIF圖片類型 在JavaScript中&#xff0c;判斷用戶上傳的文件是否為GIF文件類型時&#xff0c;通常可以通過檢查文件的type屬性或文件的拓展名來判斷&#xff0c;但是由于文件拓展名可以輕易被用戶修改&#xff0c;type屬性是由瀏覽器根據文件拓展名猜測得出的&a…

douyin-vue:使用Vue3、Pinia和Vite5打造高度還原的抖音仿制項目

一&#xff1a;引言 在前端技術日新月異的今天&#xff0c;Vue.js作為一款流行的前端框架&#xff0c;不斷吸引著開發者的目光。最近&#xff0c;GitHub上出現了一個備受矚目的項目——douyin-vue&#xff0c;這是一個基于Vue3、Pinia和Vite5的移動端短視頻項目&#xff0c;旨…

[解決]windows mysql8.0.x誤刪除root,解決辦法

1. 停止mysql服務 2. 以管理員身份打開命令窗口&#xff0c;進入到mysql安裝位置的bin目錄下 3. 輸入 mysqld --console --skip-grant-tables --shared-memory 注意&#xff1a;a. 很多解決辦法是輸入mysqld --skip-grant-tables&#xff0c;這在mysql8.0之后的版本已經不在…

ASPICE標準:汽車軟件與嵌入式系統開發的黃金準則-亞遠景

在高度信息化的現代社會&#xff0c;汽車行業的發展已遠超過傳統的機械和動力系統&#xff0c;汽車電子和軟件系統的重要性日益凸顯。為了確保汽車軟件的質量和可靠性&#xff0c;汽車行業需要一套統一且高效的開發標準。ASPICE&#xff08;Automotive SPICE&#xff09;標準應…

通過ESP32芯片模組實現產品智能化升級,啟明云端樂鑫代理商

隨著科技的不斷進步&#xff0c;物聯網&#xff08;IoT&#xff09;已經滲透到我們生活的方方面面&#xff0c;成為現代生活不可或缺的一部分。在這場智能化革命中&#xff0c;樂鑫科技以其創新的ESP32芯片模組&#xff0c;為智能家居和智能設備的發展注入了新的活力。作為樂鑫…

msi安裝mysql8 啟動失敗,提示只有在任務處于完成狀態(RanToCompletion、Faulted 或 Canceled)時才能釋放它。

解決方案: 1.打開服務,找到安裝的mysql 2. 右擊&#xff0c;打開屬性&#xff0c;進入【登錄】選項卡&#xff0c;選擇本地系統賬戶。 3. 點擊確定-->應用 4.服務中選擇開始服務 5.服務啟動成功后,在安裝步驟中繼續點擊執行

Post Microsoft Build and AI Day 上海開發者日

點擊藍字 關注我們 編輯&#xff1a;Alan Wang 排版&#xff1a;Rani Sun 這個六一怎么過&#xff1f;來微軟 Reactor&#xff0c;一起過兒童節吧&#xff01; 6月1日&#xff0c;Microsoft Azure & Microsoft Reactor 面向大小朋友特別推出六一特輯&#xff0c;「Post Mic…

開源進銷存系統

推薦一款開源的進銷存系統 項目地址&#xff1a;進銷存系統 倉庫管理系統 SAAS進銷存 進銷存ERP: 進銷存系統 倉庫管理系統 SAAS進銷存 進銷存ERPhttps://gitee.com/flyemu/jxc.git 主要功能模塊 銷售 采購 庫存 資料 設置 支持saas多租戶&#xff0c;100%開源可二開 …

前端項目上線要準備哪些問題?

上線前 一般開發過程中&#xff0c;會準備好幾條線路&#xff0c;一個是測試環境&#xff0c;一個是正式環境&#xff1b;如果是公司比較大&#xff0c;在此外還會增加一個環境-預上線。 預上線&#xff0c;就是所有的設備&#xff0c;環境&#xff0c;條件和正式線的環境都是一…

iPhone用戶推薦使用的藏漢翻譯小助手:藏漢翻譯通小程序,支持藏文OCR識別文字提取,衛藏語、安多語、康巴語學習背單詞!

網上沖浪時&#xff0c;遇到不會的漢語詞匯&#xff0c;可以復制到藏漢翻譯通小程序中進行翻譯。如果不會拼音&#xff0c;可以使用圖片識別功能掃一掃文字&#xff0c;即可OCR識別提取文字。 此外&#xff0c;藏漢翻譯通小程序現在還支持背單詞和會話速成課程&#xff0c;支持…

C# BurnServiceContractClient 使用方法

目錄 1. 添加服務引用 2. 使用客戶端進行操作 3. 配置文件&#xff08;App.config&#xff09; 4. 異步調用 總結 要在C#中使用BurnServiceContractClient&#xff0c;首先需要了解該客戶端的使用場景和目標服務契約。假設BurnServiceContractClient是一個WCF&#xff08;W…