This topic has been discussed widely and unfortunately the default compression algorithm is not really good.
Regarding your question: You can already achieve this by sending the image as a file. Then the original quality without any compression will be preserved (but also the original file size).
I also think there should at least be another “good” compression option in the list as well. I quote what I wrote in another thread about that:
Image compression
Another frustrating feature is the image compression. As I described here the default image compression “balanced” is showing visible compression artifacts (from a viewers perspective) and there’s no option to choose a less destructive compression level (apart from sending the original probably oversized file producing other problems).
I want to add that the argument of sending images as file in original quality (which was already repeated many times) as a workaround is not sufficient for most use cases.
The FAQ states about the default compression algorithm “This is ideal for everyday communication.” – and from my perspective this is not the case. The quality is worse than the default with any other messenger. I think they should be the reference when talking about everyday communication as billions of people are using them day by day. So an option which does compression but in a less destructive way could be a simple fix.
Sending pictures uncompressed comes also with another very bad downside: Storage limits on all sides
I don’t want to have 500MB wasted on ALL of my devices I use Delta Chat on just because a family member sent me all pictures of the last vacation as files because Delta Chats compression algorithm is too bad to send them as images. A normal compressed JPG has around 250 - 500KB, an uncompressed one 5-7 MB. That’s a huge difference.
EDIT:
I think I found the “issue” why the devs are not just implementing it. They would have to adapt the CORE library too. The quality settings in the Delta Chat Desktop client were changed 2 years ago and the compression does NOT take place there (I thought that before).
You can get a picture of how the compression is implemented by taking a look at these files:
They not only set a compression factor (jpeg_quality) but also a target file size (max_bytes) (which should not be exceeded) and a target resolution (target_wh), see
Also the image quality is hardcoded to 75 (85 would be my selection for good results):
An argument why they might have choosen this can probably be found in this comment:
So for now I don’t expect a “quick fix” by the devs because they would have to adapt the core library for that.