Optimization hints
Suggest improvements before or after choosing compress options.
Signature
typescript
interface OptimizationHint {
type: 'format' | 'quality' | 'size' | 'metadata' | 'filter'
message: string
suggestion: string
potentialSavings?: number
priority: 'low' | 'medium' | 'high'
}
function getOptimizationHints(
file: File | Blob,
canvas: HTMLCanvasElement,
currentOptions: CompressionOptions
): Promise<OptimizationHint[]>
function estimateCompressionSavings(
file: File | Blob,
options: CompressionOptions
): numberHints are sorted high → low priority. estimateCompressionSavings returns a 0–0.9 style estimate.
Example
typescript
import { getOptimizationHints, estimateCompressionSavings, compress } from '@pantanal/pixu'
const hints = await getOptimizationHints(file, canvas, { quality: 0.95 })
hints.filter((h) => h.priority === 'high').forEach((h) => console.log(h.suggestion))
const expected = estimateCompressionSavings(file, { quality: 0.75, format: 'image/webp' })
const result = await compress(file, { quality: 0.75, format: 'image/webp' })