Media Profiles¶
Configure image sizing, formats, and optimization profiles for different use cases.
Media Profiles define how images are processed and displayed in different parts of the system. Each profile automatically resizes, formats, and optimizes images for specific purposes.
Understanding Media Profiles¶
A Media Profile is a processing template that defines:
- Target Size: Width and height dimensions
- Format: JPG, PNG, WebP, or auto-select
- Quality: Compression level (0-100%)
- Aspect Ratio: How to handle scaling (fit, fill, stretch)
- Optimization: Progressive JPG, interlacing, etc.
When you upload an image to Media Library, profiles automatically create optimized versions for different uses.
Standard Profiles¶
Product Thumbnail¶
Purpose: Small preview images in product listings
- Size: 200×200 pixels
- Format: JPG or WebP
- Quality: 85%
- Aspect Ratio: Square (fill if needed)
- Use Case: POS product search, category listings
Product Detail¶
Purpose: Larger product images for detail screens
- Size: 600×600 pixels
- Format: JPG or WebP
- Quality: 90%
- Aspect Ratio: Square (recommended)
- Use Case: Product information display, customer facing
Receipt Logo¶
Purpose: Company logo on receipts
- Size: 600×200 pixels
- Format: PNG (preserves transparency)
- Quality: 100% (lossless)
- Aspect Ratio: Custom (3:1 ratio)
- Use Case: Receipt header logo, branding
Receipt Image¶
Purpose: General images on receipts
- Size: 800×600 pixels
- Format: PNG or JPG
- Quality: 95%
- Aspect Ratio: Maintain original
- Use Case: Receipt graphics, promotional images
Display/Banner¶
Purpose: Large banner images
- Size: 1920×1080 pixels
- Format: JPG or WebP
- Quality: 85%
- Aspect Ratio: 16:9 widescreen
- Use Case: Promotional banners, signage
Creating Custom Profiles¶
Access Profile Settings¶
- Navigate to Admin → Media → Media Profiles
- Click New Profile or select existing to edit
- Configure settings (see below)
- Save profile
Profile Settings¶
Basic Information:
- Name - Unique identifier (e.g., "product-thumb-small")
- Description - What this profile is used for
- Active - Enable/disable this profile
Image Dimensions:
- Width - Pixel width (e.g., 300)
- Height - Pixel height (e.g., 300)
- Resize Mode - How to handle size mismatches:
- Fit - Resize keeping aspect ratio (add padding if needed)
- Fill - Resize to fill area (crop if needed)
- Stretch - Resize to exact size (may distort)
- Crop - Crop to exact size (no padding)
Format & Compression:
- Format - Output file format:
- JPG - Good for photos (smaller file size)
- PNG - Good for graphics/logos (supports transparency)
- WebP - Modern format (smaller, better quality)
- Auto - Choose based on original format
- Quality - Compression level 0-100:
- 100% - No compression (largest files)
- 90% - Minimal visible loss (good balance)
- 80% - Acceptable for most uses (smaller files)
- 70% - Noticeable loss (very small files)
Advanced Options:
- Progressive JPG - Load gradually (for web display)
- Interlaced PNG - Render progressively
- Strip EXIF - Remove photo metadata (privacy)
- Auto-Rotate - Correct orientation from camera
- Thumbnail - Generate small preview automatically
How Profiles Work¶
When Image is Uploaded¶
- Original file saved to Media Library (preserved)
- System checks which profiles reference this image
- For each profile:
- Resizes to profile dimensions
- Converts to configured format
- Applies compression
- Saves as cached version
- Cached versions used for display
When Profile Changes¶
When you update a profile:
- System marks cached versions as outdated
- Next access regenerates the image
- Original file unchanged
- No manual action needed
Updating Existing Images¶
If you change a profile:
- Automatic regeneration - Images regenerated on first access
- Bulk regenerate - Option to regenerate all immediately
- Original preserved - Can change profile anytime
Usage Examples¶
Using Profiles in Configuration¶
In System → Branding:
- Upload logo to Media Library
- Select
receipt-logoprofile for display - System automatically resizes to 600×200px
- Receipt displays optimized version
In Inventory → Item Masters:
- Upload product photo (large)
- System creates versions using:
product-thumbnail(200×200) for listingsproduct-detail(600×600) for product screen- POS uses appropriate version for each context
Profile Recommendations¶
For Product Images¶
If most products are square photos:
1 2 3 4 5 6 7 8 9 | |
If products have varied aspect ratios:
1 2 3 4 5 6 7 8 9 | |
For Receipts¶
Logo on receipt header:
1 2 3 4 | |
Images in receipt body:
1 2 3 4 | |
For Web/Display¶
Large banner images:
1 2 3 4 | |
Performance Optimization¶
Choosing Quality Levels¶
| Quality | Best For | File Size | Visible Loss |
|---|---|---|---|
| 100% | Logos, text, detail | Large | None |
| 95% | Receipts, quality images | Medium | Minimal |
| 90% | Product thumbnails | Medium-Small | Slight |
| 85% | General use, thumbnails | Small | Noticeable |
| 80% | Low-priority images | Very Small | Obvious |
Format Recommendations¶
- JPG - Photos, complex images (good compression)
- PNG - Logos, graphics, text (lossless, supports transparency)
- WebP - Best compression, modern browsers (use with JPG fallback)
File Size Tips¶
For faster POS operation:
- Use JPG format (not PNG) for photos
- Quality 85-90% for most uses
- Reasonable dimensions (not 4000px wide)
- Compress before uploading (don't rely on profile compression)
Troubleshooting¶
Image Looks Wrong in POS¶
Blurry or stretched: - Profile mode may be stretching image - Change to "Fit" instead of "Fill" - Ensure source image resolution is adequate
Wrong dimensions: - Check profile size settings - Profile may not be applied - Clear browser cache and refresh
Taking long to load: - Image file may be too large - Profile quality too high - Check network connection
Profile Not Being Used¶
- Verify profile is Active (enabled)
- Check image was uploaded after profile created
- Profile only applies to images uploaded afterward
- Existing images need regeneration
Can't Create Custom Profile¶
- System Admin permission required
- Contact administrator if needed
- Or use standard profile instead