Enhance image processing settings in AnkiConnect

- Added height, width, and quality fields to AnkiConnect settings.
- Updated imageToWebp and getCroppedImg functions to accept settings for resizing and quality.
- Integrated settings into Cropper and QuickActions components for improved image handling.

Reason Note:

The recommended settings of 200 and 0.5 make average file sizes of around 5kb. This is about the same filesize as the audio for a given word.

With maximum quality and no file size limit, an image size of 1200x1800 pixels is around 1mb.

This means 1,000 words mined with full sized pictures takes up a 1gb of space on anki.

With the recommended settings, it would take 200,000 words mined to take up a GB of space on anki.

These quality settings can be disabled by settings the max quality to 1 and max width and height to 0. The user is in full control of these changes.
This commit is contained in:
decodatain
2025-04-26 21:18:55 -06:00
parent d174113c53
commit 2fb5d4ae0a
7 changed files with 76 additions and 9 deletions

View File

@@ -28,6 +28,9 @@ export type AnkiConnectSettings = {
enabled: boolean;
pictureField: string;
sentenceField: string;
heightField: number;
widthField: number;
qualityField: number;
cropImage: boolean;
overwriteImage: boolean;
grabSentence: boolean;
@@ -98,6 +101,9 @@ const defaultSettings: Settings = {
overwriteImage: true,
pictureField: 'Picture',
sentenceField: 'Sentence',
heightField: 200,
widthField: 200,
qualityField: 0.5,
triggerMethod: 'both'
}
};