A more intuitive way to snap to 100% zoom #6

Open
opened 2025-04-06 13:18:07 +00:00 by wenbocn · 6 comments

Could you please add a button next to the "Image" button to quickly reset the zoom level to 100%? Here's why:

Currently, when reopening an SVG file with a large canvas, the default full-view display of handwritten content is excellent—it helps users quickly locate areas of interest, and I really appreciate this feature. However, this creates an issue when adding new strokes: the fresh ink appears significantly thicker than the original handwriting. Manually adjusting the zoom level to match the original stroke width is quite challenging without a reference point. A dedicated 100% zoom button would solve this problem perfectly. Thank you!

Could you please add a button next to the "Image" button to quickly reset the zoom level to 100%? Here's why: Currently, when reopening an SVG file with a large canvas, the default full-view display of handwritten content is excellent—it helps users quickly locate areas of interest, and I really appreciate this feature. However, this creates an issue when adding new strokes: the fresh ink appears significantly thicker than the original handwriting. Manually adjusting the zoom level to match the original stroke width is quite challenging without a reference point. A dedicated 100% zoom button would solve this problem perfectly. Thank you!
Author

image
In fact, this zoom display in the "Pan" option can be displayed in the top right corner of the tool strip.

![image](/attachments/851192ba-6f8b-4f12-aea5-23702684846d) In fact, this zoom display in the "Pan" option can be displayed in the top right corner of the tool strip.
massivebox added this to the QoL project 2025-04-06 14:03:19 +00:00
Owner

I was thinking about this, my idea was adding a "always open at 100% zoom" as a part of the "plugin settings" menu I will eventually have to create (it will also include default options for new drawings, like the default background color and enable grid).

Do you think it would suffice? Personally, I dislike crowding the drawing interface if not needed, and in this case clicking "Reset view" (which brings the zoom to 100%) does not take many clicks.

The long-term plan is also saving the viewport location as part of the image, so that when opening a drawing, the zoom and position are automatically set as the last time you were editing it. I think it's the best solution, but it requires some work because the js-draw editor doesn't support this natively (yet?)

I was thinking about this, my idea was adding a "always open at 100% zoom" as a part of the "plugin settings" menu I will eventually have to create (it will also include default options for new drawings, like the default background color and enable grid). Do you think it would suffice? Personally, I dislike crowding the drawing interface if not needed, and in this case clicking "Reset view" (which brings the zoom to 100%) does not take many clicks. The long-term plan is also saving the viewport location as part of the image, so that when opening a drawing, the zoom and position are automatically set as the last time you were editing it. I think it's the best solution, but it requires some work because the js-draw editor doesn't support this natively (yet?)
Author

I think the zoom feature is frequently used during editing, so the "Reset view" option would still be quite handy.

As for the initial view when opening a file, I prefer the current "fit-to-screen" display—most of the time, I don’t remember the exact details of the image, so I need to see the whole thing first, locate the specific part I want to work on, then zoom to 100% before making changes.

Would it be possible to make double-clicking the hand tool or the page layout button trigger a 100% zoom? That way, we wouldn’t need an extra button.

I think the zoom feature is frequently used during editing, so the "Reset view" option would still be quite handy. As for the initial view when opening a file, I prefer the current "fit-to-screen" display—most of the time, I don’t remember the exact details of the image, so I need to see the whole thing first, locate the specific part I want to work on, then zoom to 100% before making changes. Would it be possible to make double-clicking the hand tool or the page layout button trigger a 100% zoom? That way, we wouldn’t need an extra button.
Author

Alternatively, we could automatically snap to 100% zoom when the scaling falls between 90%-110%, making it effortless to reach perfect zoom with simple finger adjustments.

Alternatively, we could automatically snap to 100% zoom when the scaling falls between 90%-110%, making it effortless to reach perfect zoom with simple finger adjustments.
Author

when the zoom level hits 100%, we could display a indicator to let users know they've reached the 100% scale—no further adjustment needed.

when the zoom level hits 100%, we could display a indicator to let users know they've reached the 100% scale—no further adjustment needed.
wenbocn changed title from Add a dedicated "100% Zoom" button to A more intuitive way to snap to 100% zoom 2025-04-09 13:46:48 +00:00
Owner

@massivebox wrote in #6 (comment):

The long-term plan is also saving the viewport location as part of the image, so that when opening a drawing, the zoom and position are automatically set as the last time you were editing it. I think it's the best solution, but it requires some work because the js-draw editor doesn't support this natively (yet?)

This has been implemented in 764f9fe5a4 and will be included in the next release.

I have confirmed that there are ways to do zoom snapping, so I will implement it in a future version.

@massivebox wrote in https://git.massive.box/massivebox/siyuan-jsdraw-plugin/issues/6#issuecomment-54: > The long-term plan is also saving the viewport location as part of the image, so that when opening a drawing, the zoom and position are automatically set as the last time you were editing it. I think it's the best solution, but it requires some work because the js-draw editor doesn't support this natively (yet?) This has been implemented in https://git.massive.box/massivebox/siyuan-jsdraw-plugin/commit/764f9fe5a450744ef8c34ed07e79c75e86967518 and will be included in the next release. I have confirmed that there are ways to do zoom snapping, so I will implement it in a future version.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: massivebox/siyuan-jsdraw-plugin#6
No description provided.