bei mir funktioniert das... (gesteted mit zapotek.bmp aus windows-verzeichnis und 20er Rundung)
Delphi-Quellcode:
//resize mask
bmp_mask.pixelformat := pf24bit;
bmp_tmp.pixelformat := pf24bit;
bmp_mask.width := bmp_tmp.width;
bmp_mask.height := bmp_tmp.height;
was mir auffällt..du hantierst mit image.canvas rum...evtl solltest du die procedure DoItRound auch auf das Canvas ausbauen...auch damit jpegs und andere grafiken unterstützt werden.
weiterhin würde ich die DoItRound so umbauen, dass du rundung,quell und zielcanvas übergibst, damit es unabhängig von dem Formular ist, sowie die prüfungen auf nil (assigned) in die procedure verlagern.
HTH Frank