Hi Ho due Writablebitmap, uno da jpg e un altro da PNG e utilizzare questo metodo per mescolare il colore in un ciclo:Png su jpeg (effetto water mark) di cattiva qualità?
private static Color Mix(Color from, Color to, float percent)
{
float amountFrom = 1.0f - percent;
return Color.FromArgb(
(byte)(from.A * amountFrom + to.A * percent),
(byte)(from.R * amountFrom + to.R * percent),
(byte)(from.G * amountFrom + to.G * percent),
(byte)(from.B * amountFrom + to.B * percent));
}
Il mio problema è nel canale alfa, il mio risultato effetto filigrana è male (qualità)!
Questo è il png originale.
Questo è il jpg originale.
aiuto?
Può essere più preciso circa la " cattiva qualità "della tua filigrana che vorresti evitare? – ObscureRobot
Il tuo png è anti-alias, sarà solo bello su uno sfondo bianco. Ricomprimerlo a jpeg è stato il neck-shot. Nessuna soluzione semplice per questo, la filigrana non può usare l'anti-aliasing. –
Penso che questo abbia a che fare con l'avere una fonte jpg. La compressione con perdita su un jpeg utilizza modelli psico-visivi per rendere meno visibili gli artefatti da compressione. La sovrapposizione di un'immagine sopra a questa immagine compressa farà saltare in aria questo modello. Il modo migliore per risolverlo è utilizzare una sorgente di immagini senza perdita di dati sia per la filigrana che per l'immagine sorgente. –