No I'm not. Why won't this work.
function IMG_DeskewDib(HDib: Integer; AAngle: Double = -1): Cardinal;
var
H1, W1, H2, W2: Integer;
B: TIEBitmap;
P: TImageEnProc;
AFlag: Boolean;
begin
Result := HDib;
try
B := TIEBitmap.Create;
P := TImageEnProc.CreateFromBitmap(B);
try
B.CopyFromDIB(HDib);
H1 := B.Height;
W1 := B.Width;
AFlag := (AAngle = -1);
if AFlag then AAngle := P.SkewDetectionFine(0, 0.1, 10, False);
if (Abs(AAngle) > 0) then
begin
P.Rotate(AAngle, False, ierFast, clWhite);
if AFlag then B.Resize(W1, H1);
P.Update;
end;
Result := B.CreateDIB;
GlobalFree(HDib);
finally
B.Free;
P.Free;
end;
except end;
end;
jp