I inserted an image in my note and it automatically reduces the resolution to the point where I am having difficulty reading it.
How can I prevent the note from automatically reducing resolution. It didn’t do this before but suddenly it is giving me these problem.
1 Like
You can’t.
But if you can compile Joplin yourself, here’s a patch that will allow you to set an option in settings:
diff --git a/ReactNativeClient/lib/models/Setting.js b/ReactNativeClient/lib/models/Setting.js
index 4e8ffc89..c2d35251 100644
--- a/ReactNativeClient/lib/models/Setting.js
+++ b/ReactNativeClient/lib/models/Setting.js
@@ -401,6 +401,7 @@ class Setting extends BaseModel {
tagHeaderIsExpanded: { value: true, type: Setting.TYPE_BOOL, public: false, appTypes: ['desktop'] },
folderHeaderIsExpanded: { value: true, type: Setting.TYPE_BOOL, public: false, appTypes: ['desktop'] },
editor: { value: '', type: Setting.TYPE_STRING, subType: 'file_path_and_args', public: true, appTypes: ['cli', 'desktop'], label: () => _('Text editor command'), description: () => _('The editor command (may include arguments) that will be used to open a note. If none is provided it will try to auto-detect the default editor.') },
+ 'image.noresizing': { value: false, type: Setting.TYPE_BOOL, public: true, label: () => _('Do not resize images') },
'net.customCertificates': {
value: '',
diff --git a/ReactNativeClient/lib/shim-init-node.js b/ReactNativeClient/lib/shim-init-node.js
index 87f040ad..e26fbfc0 100644
--- a/ReactNativeClient/lib/shim-init-node.js
+++ b/ReactNativeClient/lib/shim-init-node.js
@@ -8,6 +8,7 @@ const mimeUtils = require('lib/mime-utils.js').mime;
const Note = require('lib/models/Note.js');
const Resource = require('lib/models/Resource.js');
const urlValidator = require('valid-url');
+const Setting = require('lib/models/Setting.js');
const { _ } = require('lib/locale.js');
function shimInit() {
@@ -153,7 +154,7 @@ function shimInit() {
let targetPath = Resource.fullPath(resource);
- if (resource.mime == 'image/jpeg' || resource.mime == 'image/jpg' || resource.mime == 'image/png') {
+ if ((resource.mime == 'image/jpeg' || resource.mime == 'image/jpg' || resource.mime == 'image/png') && (!Setting.value('image.noresizing'))) {
await resizeImage_(filePath, targetPath, resource.mime);
} else {
// const stat = await shim.fsDriver().stat(filePath);
Attention: Please note that if the image is very large, you can run into synchroziation problems. There’s a limit for attachment size on mobile.
Really odd, I’ll just have to do with for now. I’m keeping the image in a folder and then creating a hyperlink to it instead.
The current version of the Joplin mobile app asks you if you wish to resize to a max of 1920 pixels along the bigger dimension, and that seems perfect to me.
It's nice to have the option of storing a full-resolution image, but I sure don't need a 12 MP smartphone photo in my recipe for blueberry muffins.
Lots of apps and services don't make smart choices about image resolution, and only when you have hundreds or thousands of notes, each with full-resolution camera phone photos attached to them, do you start to feel the pain. So I appreciate Joplin's approach here.
2 Likes