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