Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

clearRect改进的小建议 #31

Open
jerry-TangHao opened this issue Jun 16, 2023 · 0 comments
Open

clearRect改进的小建议 #31

jerry-TangHao opened this issue Jun 16, 2023 · 0 comments

Comments

@jerry-TangHao
Copy link

image

clearRect 放大后出现了一点错位,
我测试的canvas是允许透明的,
clearRect 清空的区域是否应该也是透明的

node-canvas 这个库生成的svg效果挺好的
看看能否为你的改进提供一些帮助

image
image

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="100" height="100" viewBox="0 0 100 100">
<defs>
<filter id="filter-remove-color-and-invert-alpha" x="0%" y="0%" width="100%" height="100%">
<feColorMatrix color-interpolation-filters="sRGB" values="0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 -1 1"/>
</filter>
<filter id="filter-0" x="0%" y="0%" width="100%" height="100%">
<feImage xlink:href="#compositing-group-1" result="source" x="0" y="0" width="120" height="120"/>
<feImage xlink:href="#compositing-group-2" result="destination" x="0" y="0" width="120" height="120"/>
<feComposite in="source" in2="destination" operator="arithmetic" k1="0" k2="1" k3="1" k4="0" color-interpolation-filters="sRGB"/>
</filter>
<filter id="filter-1" x="0%" y="0%" width="100%" height="100%">
<feImage xlink:href="#compositing-group-4" result="source" x="0" y="0" width="120" height="120"/>
<feImage xlink:href="#compositing-group-5" result="destination" x="0" y="0" width="120" height="120"/>
<feComposite in="source" in2="destination" operator="arithmetic" k1="0" k2="1" k3="1" k4="0" color-interpolation-filters="sRGB"/>
</filter>
<g>
<g id="glyph-0-0">
<path d="M 3.75 0 L 3.75 -22.5 L 26.25 -22.5 L 26.25 0 Z M 5.625 -1.875 L 24.375 -1.875 L 24.375 -20.625 L 5.625 -20.625 Z M 5.625 -1.875 "/>
</g>
<g id="glyph-0-1">
<path d="M -0.148438 0 L 7.207031 -21.8125 L 10.78125 -21.8125 L 18.132812 0 L 15.074219 0 L 13.09375 -6.09375 L 4.761719 -6.09375 L 2.78125 0 Z M 12.289062 -8.570312 L 8.921875 -18.851562 L 5.566406 -8.570312 Z M 12.289062 -8.570312 "/>
</g>
<g id="glyph-0-2">
<path d="M 17.007812 -6.695312 C 17.003906 -5.609375 16.796875 -4.652344 16.390625 -3.824219 C 15.976562 -2.992188 15.425781 -2.308594 14.734375 -1.773438 C 13.914062 -1.125 13.035156 -0.667969 12.101562 -0.402344 C 11.160156 -0.132812 9.949219 0 8.46875 0 L 2.210938 0 L 2.210938 -21.8125 L 8 -21.8125 C 9.546875 -21.808594 10.710938 -21.757812 11.492188 -21.65625 C 12.265625 -21.554688 13.011719 -21.3125 13.726562 -20.933594 C 14.503906 -20.511719 15.074219 -19.960938 15.4375 -19.285156 C 15.796875 -18.601562 15.976562 -17.804688 15.980469 -16.890625 C 15.976562 -15.863281 15.707031 -14.945312 15.167969 -14.136719 C 14.625 -13.324219 13.875 -12.6875 12.921875 -12.230469 L 12.921875 -12.113281 C 14.214844 -11.757812 15.222656 -11.117188 15.9375 -10.1875 C 16.648438 -9.253906 17.003906 -8.089844 17.007812 -6.695312 Z M 12.964844 -16.480469 C 12.960938 -17.003906 12.871094 -17.460938 12.699219 -17.847656 C 12.519531 -18.234375 12.238281 -18.539062 11.851562 -18.765625 C 11.378906 -19.027344 10.855469 -19.1875 10.28125 -19.246094 C 9.703125 -19.304688 8.90625 -19.335938 7.894531 -19.335938 L 5.113281 -19.335938 L 5.113281 -12.949219 L 8.40625 -12.949219 C 9.3125 -12.949219 9.980469 -12.992188 10.414062 -13.085938 C 10.839844 -13.175781 11.285156 -13.371094 11.75 -13.667969 C 12.183594 -13.949219 12.496094 -14.320312 12.683594 -14.78125 C 12.867188 -15.238281 12.960938 -15.804688 12.964844 -16.480469 Z M 13.988281 -6.578125 C 13.984375 -7.394531 13.867188 -8.070312 13.636719 -8.605469 C 13.398438 -9.136719 12.925781 -9.589844 12.21875 -9.960938 C 11.753906 -10.203125 11.253906 -10.359375 10.714844 -10.429688 C 10.171875 -10.496094 9.402344 -10.527344 8.40625 -10.53125 L 5.113281 -10.53125 L 5.113281 -2.476562 L 7.46875 -2.476562 C 8.738281 -2.472656 9.738281 -2.53125 10.472656 -2.652344 C 11.199219 -2.765625 11.84375 -3.015625 12.40625 -3.398438 C 12.949219 -3.777344 13.351562 -4.207031 13.605469 -4.695312 C 13.859375 -5.175781 13.984375 -5.804688 13.988281 -6.578125 Z M 13.988281 -6.578125 "/>
</g>
<g id="glyph-0-3">
<path d="M 10.738281 0.394531 C 9.308594 0.390625 7.996094 0.15625 6.800781 -0.320312 C 5.601562 -0.796875 4.570312 -1.511719 3.707031 -2.460938 C 2.835938 -3.40625 2.160156 -4.585938 1.683594 -6.003906 C 1.203125 -7.417969 0.964844 -9.042969 0.96875 -10.882812 C 0.964844 -12.707031 1.199219 -14.300781 1.664062 -15.660156 C 2.125 -17.015625 2.800781 -18.195312 3.691406 -19.203125 C 4.558594 -20.175781 5.585938 -20.921875 6.78125 -21.4375 C 7.96875 -21.949219 9.304688 -22.207031 10.78125 -22.207031 C 11.511719 -22.207031 12.195312 -22.152344 12.835938 -22.042969 C 13.472656 -21.933594 14.066406 -21.796875 14.617188 -21.636719 C 15.082031 -21.484375 15.5625 -21.300781 16.058594 -21.085938 C 16.550781 -20.863281 17.039062 -20.621094 17.519531 -20.359375 L 17.519531 -16.859375 L 17.285156 -16.859375 C 17.03125 -17.089844 16.703125 -17.375 16.304688 -17.707031 C 15.902344 -18.039062 15.414062 -18.367188 14.839844 -18.691406 C 14.28125 -18.992188 13.675781 -19.238281 13.019531 -19.4375 C 12.363281 -19.628906 11.605469 -19.726562 10.75 -19.730469 C 9.820312 -19.726562 8.941406 -19.539062 8.113281 -19.160156 C 7.28125 -18.777344 6.554688 -18.214844 5.933594 -17.476562 C 5.3125 -16.730469 4.832031 -15.796875 4.496094 -14.675781 C 4.152344 -13.550781 3.984375 -12.285156 3.984375 -10.882812 C 3.984375 -9.382812 4.164062 -8.097656 4.527344 -7.023438 C 4.886719 -5.941406 5.378906 -5.03125 6.007812 -4.292969 C 6.609375 -3.566406 7.324219 -3.019531 8.144531 -2.65625 C 8.964844 -2.289062 9.832031 -2.109375 10.75 -2.109375 C 11.589844 -2.109375 12.367188 -2.210938 13.078125 -2.417969 C 13.789062 -2.621094 14.421875 -2.878906 14.984375 -3.195312 C 15.515625 -3.492188 15.980469 -3.804688 16.375 -4.125 C 16.761719 -4.441406 17.070312 -4.710938 17.300781 -4.9375 L 17.519531 -4.9375 L 17.519531 -1.480469 C 17.039062 -1.25 16.585938 -1.035156 16.164062 -0.832031 C 15.738281 -0.628906 15.222656 -0.429688 14.617188 -0.234375 C 13.980469 -0.03125 13.390625 0.125 12.851562 0.234375 C 12.304688 0.339844 11.601562 0.390625 10.738281 0.394531 Z M 10.738281 0.394531 "/>
</g>
</g>
<g id="compositing-group-0" transform="translate(10, 10)">
<rect x="-10" y="-10" width="120" height="120" fill="rgb(0%, 0%, 0%)" fill-opacity="0"/>
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" d="M 0 0 L 10 0 L 10 10 L 0 10 Z M 0 0 "/>
</g>
<mask id="mask-0">
<use xlink:href="#compositing-group-0"/>
</mask>
<mask id="mask-1">
<use xlink:href="#compositing-group-0" filter="url(#filter-remove-color-and-invert-alpha)"/>
</mask>
<g id="compositing-group-1" mask="url(#mask-0)">
<g transform="translate(10, 10)">
</g>
</g>
<g id="compositing-group-2" mask="url(#mask-1)">
<g transform="translate(10, 10)">
<rect x="-10" y="-10" width="120" height="120" fill="rgb(0%, 0%, 0%)" fill-opacity="1"/>
<g fill="rgb(100%, 100%, 100%)" fill-opacity="1">
<use xlink:href="#glyph-0-1" x="30" y="29.999023"/>
<use xlink:href="#glyph-0-2" x="47.988281" y="29.999023"/>
<use xlink:href="#glyph-0-3" x="65.81543" y="29.999023"/>
</g>
</g>
</g>
<g id="compositing-group-3" transform="translate(10, 10)">
<rect x="-10" y="-10" width="120" height="120" fill="rgb(0%, 0%, 0%)" fill-opacity="0"/>
<path fill-rule="nonzero" fill="rgb(100%, 100%, 100%)" fill-opacity="1" d="M 0 0 L 44 0 L 44 44 L 0 44 Z M 0 0 "/>
</g>
<mask id="mask-2">
<use xlink:href="#compositing-group-3"/>
</mask>
<mask id="mask-3">
<use xlink:href="#compositing-group-3" filter="url(#filter-remove-color-and-invert-alpha)"/>
</mask>
<g id="compositing-group-4" mask="url(#mask-2)">
<g transform="translate(10, 10)">
</g>
</g>
<g id="compositing-group-5" mask="url(#mask-3)">
<g transform="translate(10, 10)">
<g filter="url(#filter-0)" transform="translate(-10, -10)">
<rect x="0" y="0" width="120" height="120" fill="rgb(0%, 0%, 0%)" fill-opacity="1"/>
</g>
</g>
</g>
</defs>
<g filter="url(#filter-1)" transform="translate(-10, -10)">
<rect x="0" y="0" width="120" height="120" fill="rgb(0%, 0%, 0%)" fill-opacity="1"/>
</g>
</svg>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant