查看: 1975|回复: 21
打印 上一主题 下一主题

[教程] 【Clip 座標切圖法】製作不切圖片的切圖法

[复制链接]
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    跳转到指定楼层
    1
    发表于 2019-9-26 01:28:31 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
    本帖最后由 喬治兄 于 2019-9-26 12:34 编辑

    【Clip 座標切圖法製作不切圖片的切圖法

    參考下帖問題
    [求助] 請賜教: 求 clip 圖置於左上 無切圖嘗試製作   https://www.pdawiki.com/forum/forum.php?mod=viewthread&tid=36035&extra



    請注意綠色是左欄單字, 藍色是右欄單字
    很簡單的利用 負的座標 margin-top 和 margin-left 把座標移回去
    附件在圖片下面  Clip_Margin.zip
    感覺此方法不甚具有彈性盼各位同好先進指點更加具有彈性的處理方法
    謝謝



      忽感 css 之強大從未對 css 深入了解, 知之甚微, 勢必還有許多能改善, 改進之處

        此只是一個方法, 應該還很多可以實現的方法, 方式....


          答案,始終就不會僅有少數那幾個  


            多幾次...Try Error.....您也就會有自己的答案, 自己的方法




            PS.

          • 此為兩欄式 Clip 座標切圖法
          • 三欄式 Clip 座標切圖法應該也是大同小異....相同HTML 語法便可處理
          • 若需同頁左最下單詞和右最上的釋意合併於一個詞條 有 當頁最右下角單詞和隔頁
            左上角釋意合併於一個詞條應於 Excel 能計算到相接合的座標再搞成同樣形式合併之



    abbreviation
    <b>abbreviation</b>
    <br>
    <style>img { position: absolute;clip: rect(224px,707px,672px,0px); margin-top: -224px; margin-left: 0;}</style>
    <img src="0002.png" width="1416" height="2172">
    </>
    ABC
    <b>ABC</b>
    <br>
    <style>img { position: absolute;clip: rect(672px,707px,1424px,0px); margin-top: -672px; margin-left: 0;}</style>
    <img src="0002.png" width="1416" height="2172">
    </>
    abet
    <b>abet</b>
    <br>
    <style>img { position: absolute;clip: rect(561px,1416px,936px,707px); margin-top: -561px; margin-left: -707px;}</style>
    <img src="0002.png" width="1416" height="2172">
    </>
    abeyance
    <b>abeyance</b>
    <br>
    <style>img { position: absolute;clip: rect(936px,1416px,1798px,707px); margin-top: -936px; margin-left: -707px;}</style>
    <img src="0002.png" width="1416" height="2172">
    </>







    2019-09-26_012727.png (60.98 KB, 下载次数: 2)

    2019-09-26_012727.png

    2019-09-26_012721.png (104.92 KB, 下载次数: 1)

    2019-09-26_012721.png

    2019-09-26_012714.png (48.25 KB, 下载次数: 1)

    2019-09-26_012714.png

    2019-09-26_012708.png (90.17 KB, 下载次数: 1)

    2019-09-26_012708.png

    Clip_Margin.zip

    627.51 KB, 下载次数: 53, 下载积分: 米 -5 粒

    本帖被以下淘专辑推荐:

  • TA的每日心情
    奋斗
    2019-4-14 02:12
  • 签到天数: 93 天

    [LV.6]常住居民II

    250

    主题

    2966

    回帖

    53万

    积分

    状元

    吃水不忘挖井人

    Rank: 9Rank: 9Rank: 9

    积分
    531111

    灌水大神章笑傲江湖章推广专家QQ 章

    2
    发表于 2019-9-26 03:27:27 | 只看该作者
    终于perfect了啊
    恭喜恭喜
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    3
     楼主| 发表于 2019-9-26 03:35:46 | 只看该作者
    本帖最后由 喬治兄 于 2019-9-26 05:02 编辑
    jonah_w 发表于 2019-9-26 03:27
    终于perfect了啊
    恭喜恭喜


    jonah_w 兄:
    哈..哈, 雛型模式...
    還會再踢很多鐵板的難題....
    不可能有所謂的 perfect

  • TA的每日心情
    开心
    2018-5-26 18:12
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    19

    主题

    120

    回帖

    9106

    积分

    进士

    Rank: 8Rank: 8

    积分
    9106
    4
    发表于 2019-9-26 05:20:40 | 只看该作者
    根据MDN对clip的说法,
    该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。

    https://developer.mozilla.org/zh-CN/docs/Web/CSS/clip
    不过可以用clip-path,https://developer.mozilla.org/zh-CN/docs/Web/CSS/clip-path
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    5
     楼主| 发表于 2019-9-26 05:39:05 | 只看该作者
    Charlieqiu 发表于 2019-9-26 05:20
    根据MDN对clip的说法,
    https://developer.mozilla.org/zh-CN/docs/Web/CSS/clip
    不过可以用clip-path,htt ...

    Charlieqiu 兄:
    昨晚試了一夜就是試 clip-path
    很遺憾的沒試出來
    也因也頭昏眼花
    沒再試  clip-path 方法
    可能是試  clip-path 方法有誤吧
  • TA的每日心情
    开心
    2018-5-26 18:12
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    19

    主题

    120

    回帖

    9106

    积分

    进士

    Rank: 8Rank: 8

    积分
    9106
    6
    发表于 2019-9-26 07:48:17 | 只看该作者
    喬治兄 发表于 2019-9-26 05:39
    Charlieqiu 兄:
    昨晚試了一夜就是試 clip-path
    很遺憾的沒試出來
    兼容性
    目前 IE 和 Edge 都不支持这个属性。Firefox 仅部分支持 clip-path,部分支持是指只支持形状和 URL(#path) 内联SVG的语法。Chrome、Safari 和 Opera 需要使用 -webkit- 的前缀兼容此属性。不支持外部的 SVG 形状。更多兼容信息可以点击这里查看 clip-path 浏览器兼容情况。

    作者:创宇前端
    链接:https://juejin.im/post/5a975c14f265da4e9c635ea4
    来源:掘金
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    clip-path还不是普遍支持的
  • TA的每日心情
    开心
    2019-8-21 19:27
  • 签到天数: 5 天

    [LV.2]偶尔看看I

    61

    主题

    627

    回帖

    16万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    162733

    QQ 章灌水大神章笑傲江湖章

    7
    发表于 2019-9-26 09:42:37 | 只看该作者
    谢谢推荐,喬治兄真是乐于探索啊,想必有一天会成为大师。

    我没学过css,经你这推荐去了解了一下,这个clip:rect功能就是在展示图片的时候只显示指定的矩形部分吧,这可以实现不切图而进行单个词条的展示,但实际感觉并不好用,一是坐标比较难获取,二是很多图片并不规律,不知道对于这两点喬治兄有无较好的对策。

    所以相比之下切图还是目前比较好的方法,好像 chigre3 有自动根据黑色像素点定位坐标进而切图的方法,不过我不清楚。
  • TA的每日心情
    无聊
    2022-9-25 21:09
  • 签到天数: 1136 天

    [LV.10]以坛为家III

    17

    主题

    3142

    回帖

    2万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    25289

    灌水大神章

    8
    发表于 2019-9-26 10:06:24 | 只看该作者
    可以参考一下相机比较网站的做法。例如:
    https://is.gd/tQ3u0C
    https://is.gd/1wvufo

    如果能实现移动框框,
    那“切图”演算法的偏差就不是很严重的缺失,
    可以省下校对的功夫。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    9
     楼主| 发表于 2019-9-26 11:13:39 | 只看该作者
    Charlieqiu 发表于 2019-9-26 07:48
    clip-path还不是普遍支持的

    Charlieqiu 兄:
    謝謝您提供 clip-path 前沿資訊
    記得好像是我的網頁有顯示 OK
    mdict 沒有正確顯示而是顯示整頁
    小弟會再試試
    謝謝

  • TA的每日心情
    开心
    2018-5-26 18:12
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    19

    主题

    120

    回帖

    9106

    积分

    进士

    Rank: 8Rank: 8

    积分
    9106
    10
    发表于 2019-9-26 11:19:00 | 只看该作者
    喬治兄 发表于 2019-9-26 11:13
    Charlieqiu 兄:
    謝謝您提供 clip-path 前沿資訊
    記得好像是我的網頁有顯示 OK

    哈哈,我也没试过这个,只是看网上这么写着,就粘贴过来了,不过乔治兄倒提供了一个很好的思路
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    11
     楼主| 发表于 2019-9-26 11:47:35 | 只看该作者
    本帖最后由 喬治兄 于 2019-9-26 11:57 编辑
    Mandolin 发表于 2019-9-26 09:42
    谢谢推荐,喬治兄真是乐于探索啊,想必有一天会成为大师。

    我没学过css,经你这推荐去了解了一下,这个cli ...


    Mandolin 兄:
    非也, 非也, 僅是個人需求
    整頁全文搜索 Highlight 編輯過於繁複冗長
    容量膨脹太大不利編輯

    chigre3兄 的自动根据黑色像素点定位坐标进而切图的方法,是堪稱一絕的方法
    小弟也很想學....
    畢竟能夠完成想要達成的方法都是值得去試去了解的




  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    12
     楼主| 发表于 2019-9-26 12:01:54 | 只看该作者
    oversky 发表于 2019-9-26 10:06
    可以参考一下相机比较网站的做法。例如:
    https://is.gd/tQ3u0C
    https://is.gd/1wvufo

    謝謝仁兄提供多樣且另類的資訊
    確實值得思考
    謝謝
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    13
     楼主| 发表于 2019-9-26 12:05:46 | 只看该作者
    Charlieqiu 发表于 2019-9-26 11:19
    哈哈,我也没试过这个,只是看网上这么写着,就粘贴过来了,不过乔治兄倒提供了一个很好的思路 ...

    Charlieqiu 兄:
    該謝謝你才是
    您的貼的訊息
    有更明確的範例
    更易於理解實驗
    謝謝

    该用户从未签到

    123

    主题

    1719

    回帖

    3万

    积分

    翰林院编修

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    30382

    灌水大神章小蜜蜂章笑傲江湖章翰林院专用章管理组专用章

    14
    发表于 2019-9-26 14:47:43 | 只看该作者
    都不错  就是感觉高清图片比如8500x5800大小的 不实际切图而是用这样的方法显示局部切图会不那么快
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    15
     楼主| 发表于 2019-9-26 15:03:36 | 只看该作者
    chigre3 发表于 2019-9-26 14:47
    都不错  就是感觉高清图片比如8500x5800大小的 不实际切图而是用这样的方法显示局部切图会不那么快 ...

    Chigre 兄,谢谢提供您的经验,一路套用你的方法,根本不用动脑筋就可达成,要不是因其他需求搞不定,真不想自己动脑筋,哈,哈哈哈哈哈!
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    16
     楼主| 发表于 2019-9-26 19:14:18 | 只看该作者
    本帖最后由 喬治兄 于 2019-9-26 20:02 编辑
    chigre3 发表于 2019-9-26 14:47
    都不错  就是感觉高清图片比如8500x5800大小的 不实际切图而是用这样的方法显示局部切图会不那么快 ...


    Chigre 兄:
    感觉高清图片比如8500x5800大小的 不实际切图而是用这样的方法显示局部切图会不那么快

    此問題確實可能也存在
    1. Clip 是呼叫整個圖檔記憶體上應該是整張圖的負荷, 而您切過圖後圖檔變小, 記憶體上負荷減輕, 顯卡負荷也輕
    2. 或許可以另一處理法 ,不縮圖檔, 而是把解析度減半或更多, 只需按其比例改其參數值
        但您原本的 Clip 和 margin-top, margin-left  也需改變其比例參數值
        但此又讓圖在顯示上縮半.....實難兩全也

    <img src="xxx.png" width="5800" height="8500">  ==> <img src="xxx.png" width="2900" height="4250">  

    <style>img { position: absolute;clip: rect(224px,707px,672px,0px); margin-top: -224px; margin-left: 0;}</style>

    ==><style>img { position: absolute;clip: rect(112px,353.5px,336px,0px); margin-top: -112px; margin-left: 0;}</style>


  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    25

    主题

    646

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16738
    17
    发表于 2020-8-8 22:29:11 | 只看该作者
    喬治兄 发表于 2019-9-26 19:14
    Chigre 兄:

    此問題確實可能也存在

    Clip、Clip-path方法着重图片裁剪,不知道有没有单独调整显示窗口的办法,将图片按width: 100%;显示后,再套一个任意大小的观看窗口或显示框,窗口或显示框内显示,外部隐藏,显示效果也就相当于裁剪图片了
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    18
     楼主| 发表于 2020-8-8 22:55:20 | 只看该作者
    本帖最后由 喬治兄 于 2020-8-8 23:56 编辑
    wjl 发表于 2020-8-8 22:29
    Clip、Clip-path方法着重图片裁剪,不知道有没有单独调整显示窗口的办法,将图片按width: 100%;显示后, ...

    Clip 可以實現,您若用chigre兄的軟件取得座標,再處理一下是可行的
    但若clip path , 因mdict和golidendict都是ie的內核,并不支持此標簽...無法解析 clip path
    不然就試試 firetimer 兄的方法....看 css clip-path : inset     能否在 mdict and goldendict 實現


    [工具] Preview - 修改MDX CSS的神器,支持CSSJS实时预览... https://www.pdawiki.com/forum/forum.php?mod=viewthread&tid=39559&highlight=preview

    但您若用 preview,則 css clip-path : inset    應該是沒問題,因 last_idol 兄 應該是可直接用你裝的 chrome 瀏覽器去解析, 若 ie 應該也是不行 ,clip 僅能座標,clip path 彈性較大,可以用比例,您可以看我那帖子有一個網站有較詳細的clip path標簽的介紹,若要應用看 inset 那個應該是蠻適用的
    請賜教: 有關 css clip-path 的疑惑
    https://www.pdawiki.com/forum/thread-36172-1-1.html

    9. 請參閱   css clip-path : inset     https://bennettfeely.com/clippy/   
    10. 小弟的例子雖以 css clip-path : circle   作為實例(因參數只有一個較易實現), 但因是同屬  css clip-path 下的一 shape 成員
          若 css clip-path : circle   可行, 則 css clip-path : inset   應該也是能成的
       
    11. clip-path vs clip ==> clip-path 之優點可跳脫座標點之束縛, 可將取下的區域透過一兩個參數便可放大縮小
         實為更為便利
    12: 取的範圍不是很正確僅是說明用 Clip-Path-Inset_4.html

    aberration
    <b>aberration</b><br>
    <style> img { clip-path: inset( 7.77% 0 74.17% 50% ); margin-top: -7.77%; margin-left: -50%} </style>
    <img src="0002.png" width="100%">
    </>

    13. & 14. 是先放大 180% 再切一半的實例 如此切下的圖便 Fit screen 90%

    13.  clip-path_left.html 左側不需移
    test
    <style> img { clip-path: inset(0 50% 0 0);} </style>
    <img src="0002.png" width="180%">
    </>

    14. clip-path_right.html margin-left 移 width 的一半就是切欄了
    test
    <style>
    img {
      clip-path: inset(0 0 0 50%); margin-left: -90%
    }
    </style>
    <img src="0002.png" width="180%">
    </>




    在此 https://bennettfeely.com/clippy/ 站上試著調整外型大概就能知道該如何設計





    不然就試試 firetimer 兄的方法....看 css clip-path : inset     能否在 mdict and goldendict 實現

    他的奇技淫巧之法太過於精妙....在下目前還無法參透....您得向他請益....







  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    25

    主题

    646

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16738
    19
    发表于 2020-8-10 12:23:31 | 只看该作者
    喬治兄 发表于 2020-8-8 22:55
    Clip 可以實現,您若用chigre兄的軟件取得座標,再處理一下是可行的
    但若clip path , 因mdict和golidendic ...

    乔治兄,Clip的比例调整可以试试transform:scale(0.5,0.5);参数,在MDict中有效


    .citiao {
        font-weight: 900;
        font-size:130%;
    }
    .shiyi {
        font-weight: bold;
        background-color: red;
    }
    .tubox
    {
    background-color:#00FFFF;
    width: 100%;
    height:100%;
    overflow: hidden;
    }
    img
    {
    position: absolute;clip: rect(3000px,4204px,6094px,2000px); margin-top: -3000px; margin-left: -2000px;transform:scale(0.5,0.5);
    }
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    20
     楼主| 发表于 2020-8-10 12:36:41 | 只看该作者
    本帖最后由 喬治兄 于 2020-8-10 12:41 编辑
    wjl 发表于 2020-8-10 12:23
    乔治兄,Clip的比例调整可以试试transform:scale(0.5,0.5);参数,在MDict中有效


    wjl 兄:
    太強了....謝謝啦.....讚..讚..讚...
    這樣调整比例更加簡單




    wjl 兄 transform:scale(0.5,0.5).....若放於外部 css 是否就是全局的變數
    不知是否可行

  • TA的每日心情
    无聊
    2022-7-21 15:56
  • 签到天数: 216 天

    [LV.7]常住居民III

    25

    主题

    646

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    16738
    21
    发表于 2020-8-10 12:57:23 | 只看该作者
    本帖最后由 wjl 于 2020-8-10 13:01 编辑

    我就是放外部css文件中了,并且css文件修改后mdict就可以实时显示,无需使用其它工具。这个参数配合clip裁剪时我感觉应该放到每个词条,毕竟每个词条的截取区域和比例不一致。我只试过外部整体,单个词条的还没测试过,按原理应该整体和局部都适用。
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    254

    主题

    4264

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    79050

    小蜜蜂章笑傲江湖章灌水大神章QQ 章

    QQ
    22
     楼主| 发表于 2020-8-10 13:23:27 | 只看该作者
    wjl 发表于 2020-8-10 12:57
    我就是放外部css文件中了,并且css文件修改后mdict就可以实时显示,无需使用其它工具。这个参数配合clip裁 ...

    wjl 兄:
    謝謝您提出的方案....若有再搞定位再來試試效果