È possibile unire due o più immagini bmp diverse della stessa dimensione sovrapponendole una sopra l'altra? Allo stesso modo in Windows XP MS Paint: incollare un'immagine in un'altra, con il colore secondario trasparente.Sovrapposizione di immagini in un'immagine
risposta
È possibile utilizzare Transparent
proprietà di TBitmap
in tal senso. Poiché le tue bitmap hanno un bordo nero, il colore trasparente automatico (il primo pixel dei dati dell'immagine) non funzionerebbe e devi anche impostare la proprietà TransparentColor
su "clWhite".
var
bmp1, bmp2: TBitmap;
begin
bmp1 := TBitmap.Create;
bmp1.LoadFromFile('...\test1.bmp');
bmp2 := TBitmap.Create;
bmp2.LoadFromFile('...\test2.bmp');
// bmp2.PixelFormat := pf24bit; // with 32 bit images I need this, don't know why
bmp2.Transparent := True;
bmp2.TransparentColor := clWhite;
bmp1.Canvas.Draw(0, 0, bmp2); // draw bmp2 over bmp1
// this is how the merged image looks like
Canvas.Draw(0, 0, bmp1);
..
Funziona perfettamente! Solo una nota per qualcuno che usa questo codice, assicurati che bmp1 e bmp2 abbiano le stesse dimensioni. Se bmp2 è più piccolo di bmp1, allora bmp2 sarà collocato nell'angolo in alto a sinistra dell'immagine. –
Nel caso del secondo bitmap è bianco e nero, è possibile utilizzarlo come maschera in un'operazione raster con BitBlt (trasferimento bit-block), come segue:
Windows.BitBlt(Bmp3.Canvas.Handle, 0, 0, Bmp3.Width, Bmp3.Height,
Bmp1.Canvas.Handle, 0, 0, SRCCOPY);
Windows.BitBlt(Bmp3.Canvas.Handle, 0, 0, Bmp3.Width, Bmp3.Height,
Bmp2.Canvas.Handle, 0, 0, SRCAND);
- 1. ContentFlow: evitare sovrapposizione di immagini
- 2. Immagine magick sovrapposizione immagini
- 3. Sovrapposizione di immagini nei CSS
- 4. Sovrapposizione immagini ruotate sulla trama con Matplotlib
- 5. Aggiungi sovrapposizione immagini al video FFmpeg
- 6. Sovrapposizione immagini nella trama 3d usando python
- 7. Sovrapposizione immagini con immagine catturata dalla videocamera in Android
- 8. Sovrapposizione di due immagini con ridimensionamento automatico utilizzando ImageMagick
- 9. Sovrapposizione immagine in HTML
- 10. sovrapposizione in d3 wordcloud
- 11. Il modo migliore per avere una sovrapposizione di immagini di zoom e panoramica su Android?
- 12. jQuery Masonry scroll infinito e problemi di sovrapposizione di immagini con il mio tema tumblr
- 13. collage di immagini in PHP
- 14. Android: combina due immagini in sovrapposizione su un bmp con la posizione corretta
- 15. Evita sovrapposizione di etichette in Gephi
- 16. Nascondere la sovrapposizione di UISplitViewController in portrait
- 17. Servizio finestra di sovrapposizione in Android
- 18. Problema di sovrapposizione in Android TextView
- 19. Sovrapposizione di diagrammi implog in matplotlib
- 20. Sovrapposizione in cima Streaming MPMoviePlayerController
- 21. Bootstrap 3: sovrapposizione di testo sull'immagine
- 22. Disegna testo in sovrapposizione cerchio
- 23. Applicazione iOS ultravisuale come animazione utilizzando UICollectionViewLayout senza sovrapposizione di immagini
- 24. Strumento Google Maps per posizionare con precisione la sovrapposizione di immagini?
- 25. Percentuale sovrapposizione di due elenchi
- 26. equivalente sovrapposizione di Array # fetta
- 27. Sovrapposizione di colore con opacità utilizzando ImageMagick in Rails
- 28. Sovrapposizione grafica MATLAB
- 29. Gestione sovrapposizione MKAnnotationView (s)
- 30. Haskell: sovrapposizione casi
Certamente possibile. Fatto [molto di questo] (http://english.rejbrand.se/algosim/manual/pmproc/pmproc.html) io stesso. –
@AndreasRejbrand: grazie per questo link e più specificamente il contenuto lì. Grande riferimento. –