maoschanz / maoschanz/drawing

Auto expand canvas to pasted / imported image size if it exceeds the default canvas size.

Open
#627 0 comments 3 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

feature request
Dominant language
Python
Stars
869
Forks
106
PR merge metrics
No merged PRs in 30d

Description

## Requested feature

Auto expand canvas to pasted / imported image size if it exceeds the default canvas size. This would facilitate easier meme / diagram creation/annotation, achieve more parity with "Paint" in Windows. Personally I just want to be able to make memes in Drawing more easily. In general it would be nice if the canvas was easily resizable by dragging but that's another feature to be honest.

### Possible drawbacks

I don't know sadly, I'm a memer not a programmer, maybe it's a pain in the ass to code, so the drawback is spending time not having fun.
It's adding a feature so it sort of makes the program more cluttered in a way but I think it's an improvement, it improves the quality of life for people using it, people like me that are lazy and don't have patience and want things to just react intuitively.

### Possible alternatives

Manually changing the canvas size so that the image will fit, maybe there is a setting that can be enabled but I didn't find it quickly and so gave up. "Pinta" another open source drawing program, it expands the canvas flawlessly when you paste a screenshot that exceeds the initial canvas size. Being an open source program, I wonder if you can reuse the code to save time? That is the beauty of open source after all.

## Use case

In windows I use paint to caption images for comedic effect but also to draw arrows, circles, squares, on screenshots, images, to try and help tech support my friends or draw attention to features in images. It is very useful that "Paint" in windows automatically changes the canvas size to fit the image if it exceeded the initial allotted canvas, it wraps the canvas around the image, it just makes it quick and easy to do these tasks.

Thank you and have mercy.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the code paths for pasted and imported images and the default canvas-size handling. Check how the canvas currently behaves when an image exceeds its bounds; done means oversized pasted or imported images expand the canvas without breaking existing image-editing behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
desktop
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.