public override IImmagine applica(IImmagine immagineSorgente, Correzione correzione) { _giornale.Debug("Richiesta correzione: " + correzione.GetType().Name); long calcW, calcH; Resize resizeCorrezione = (Resize)correzione; ResizeCorrettore.calcolaEsattaWeH(immagineSorgente, resizeCorrezione.latoMax, out calcW, out calcH); BitmapSource bitmapSource = ((ImmagineWic)immagineSorgente).bitmapSource; /* I dpi sono una indicazione per la stampa. * Non impattano sui dati dell'immagine. * Non impattano sulla dimensione dell'immagine. * Non impattano sulla qualità dell'immagine. * In pratica è solo un "consiglio" per la stampa. * * Siccome credo che le stampanti termiche/sublimazione se ne fregano di questo parametro (per ovvi motivi) * allora me ne sbatto. * Occorrebbe fare una prova con una laser o con una InkJet per vedere se il risultato stampato cambia. * * int quantiDpi; * quantiDpi = (int) Math.Max( bitmapSource.DpiX, bitmapSource.DpiY ); * quantiDpi = (int) Math.Max( quantiDpi, DPI_PROVINO ); */ BitmapSource bitmapFrame = Resize(bitmapSource, calcW, calcH, DPI_PROVINO); // _giornale.Debug( "effettuato resize" ); if (bitmapFrame.CanFreeze) { bitmapFrame.Freeze(); } ImmagineWic immagine = new ImmagineWic(bitmapFrame); return(immagine); }
public Correttore getCorrettore(Correzione correzione) { // Se non ce l'ho in cache, allora lo creo. return(_correttoreFactory.creaCorrettore(correzione.GetType())); }