delphi 图像旋转

网络搜集的 觉得有用的拿去吧  速度不错呢

//旋转90°
procedure Rotate(Bitmap: TBitmap);
type
  THelpRGB = packed record
    rgb: TRGBTriple;
    dummy: byte;
  end;

  pRGBArray = ^TRGBArray;
  TRGBArray = array[0..32767] of TRGBTriple;
var
  aStream: TMemorystream;
  //内存流
  header: TBITMAPINFO;
  dc: hDC;
  P: ^THelpRGB;
  x, y, b, h: Integer;
  RowOut: pRGBArray;
begin
  //创建内存流
  aStream := TMemoryStream.Create;
  //设置大小,必须是4的倍数
  aStream.SetSize(Bitmap.Height * Bitmap.Width * 4);
  with header.bmiHeader do //操作位图文件
  begin
    biSize := SizeOf(TBITMAPINFOHEADER); //大小
    biWidth := Bitmap.Width; //位图宽
    biHeight := Bitmap.Height; //位图高
    biPlanes := 1;
    biBitCount := 32;
    //无压缩
    biCompression := 0;
    biSizeimage := aStream.Size;
    biXPelsPerMeter := 1; //水平分辨率
    biYPelsPerMeter := 1; //竖直分辨率
  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值