element-hq / element-hq/element-x-android

Feature Request: Add Drawing (Annotation) Tool to Image Preview Before Sending

Open
#5,585 5 comments 2 reactions 0 assignees View on GitHub
T-Enhancement
Dominant language
Kotlin
Stars
2.4k
Forks
624
Avg merge
1d 14h
Merged PRs (30d)
149

Description

### What would you like to do?

I’d like to be able to draw or annotate directly on an image in the message preview before sending it.
For example, when I choose a photo to send in a chat, I want the option to sketch, highlight, or mark something on the image.

### Why would you like to do it?

Sometimes I need to quickly point something out or highlight a specific part of an image (e.g., a location in a screenshot or an object in a photo).
Currently, I have to open an external photo editor to draw on the image and then come back to Element X to send it — which is slow and interrupts the messaging flow.
Having this feature built into the image preview would make communication faster, clearer, and more expressive.

### How would you like to achieve it?

By adding a “Draw” or “Edit” button in the image preview screen.
When tapped, it would:

Open a simple drawing mode over the image.

Provide tools for:

Drawing (different colors and thickness)

Undo / Redo

Clear all

Allow saving the edited version and returning to the preview with the modified image ready to send.

### Have you considered any alternatives?

The only current workaround is to edit the image using another app before selecting it in Element X.
However, this breaks the natural chat flow and makes quick annotations inconvenient.

### Additional context

Could be implemented using Jetpack Compose’s Canvas with touch input via Modifier.pointerInput.

The drawing layer can be composited onto the image and exported as a single bitmap before sending.

This feature already exists in popular messengers like Telegram and WhatsApp, and adding it would make Element X feel more modern and user-friendly.

Example flow:

User selects an image → preview opens

User taps “Draw” → enters drawing mode

User draws → taps “Done”

Edited image appears in preview → user sends it

### Are you willing to provide a PR?

Yes

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.