亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? unitmain.pas

?? 封面圖片任意旋轉 任意旋轉圖像 處理速度快 自動中心位置尋找
?? PAS
字號:
unit UnitMain;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Math, StdCtrls, jpeg, ExtCtrls, ComCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Image1: TImage;
    Button2: TButton;
    Image2: TImage;
    TrackBar1: TTrackBar;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    procedure bmp_rotate(src,dst:tbitmap;angle:extended);
  public
    { Public declarations }
  end;

  procedure rotate(sur:pchar;bmp:Tbitmap;cx,cy:integer;angle:integer);
	procedure RotateBmp(bmp: TBitmap; Center: TPoint; angle: Integer);

var
  Form1: TForm1;

implementation

uses UnitBitmapRotate;

{$R *.dfm}



procedure TForm1.bmp_rotate(src, dst: tbitmap; angle: extended);
var
  c1x,c1y,c2x,c2y:integer;
  p1x,p1y,p2x,p2y:integer;
  radius,n:integer;
  alpha:extended;
  c0,c1,c2,c3:tcolor;
begin
   //將角度轉換為PI值
  angle := (angle / 180) * pi;
   // 計算中心點,你可以修改它
  c1x := src.width div 2;
  c1y := src.height div 2;
  c2x := dst.width div 2;
  c2y := dst.height div 2;

   // 步驟數值number
  if c2x < c2y then
    n := c2y
  else
    n := c2x;
  dec (n,1);

   // 開始旋轉
  for p2x := 0 to n do begin
    for p2y := 0 to n do begin
      if p2x = 0 then
        alpha:= pi/2
      else
        alpha := arctan2(p2y,p2x);
      radius := round(sqrt((p2x*p2x)+(p2y*p2y)));
      p1x := round(radius * cos(angle+alpha));
      p1y := round(radius * sin(angle+alpha));

      c0 := src.canvas.pixels[c1x+p1x,c1y+p1y];
      c1 := src.canvas.pixels[c1x-p1x,c1y-p1y];
      c2 := src.canvas.pixels[c1x+p1y,c1y-p1x];
      c3 := src.canvas.pixels[c1x-p1y,c1y+p1x];

      dst.canvas.pixels[c2x+p2x,c2y+p2y]:=c0;
      dst.canvas.pixels[c2x-p2x,c2y-p2y]:=c1;
      dst.canvas.pixels[c2x+p2y,c2y-p2x]:=c2;
      dst.canvas.pixels[c2x-p2y,c2y+p2x]:=c3;
    end;
    application.processmessages
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
var
    bmp:TBitMap;
    a: pbytearray;
    Center: TPoint;
begin
    bmp:=TBitMap.create;
    bmp.Assign(Image1.Picture.Graphic);
		//AntiAlias(Bmp);
    Center.X := Bmp.Width div 2;
    Center.Y := Bmp.Height div 2;
    RotateBmp(Bmp, Center, 10);
    Image1.Picture.Assign(Bmp);
    Bmp.free;
end;

procedure rotate(sur:pchar;bmp:Tbitmap;cx,cy:integer;angle:integer);
var
x1,y1,x3,y3 :integer; //x1,y1 為平移坐標 x3,y3為旋轉的新坐標
x,y,h,w,widthbytes,dst,v:integer;
hcos,hsin:double;
tmp:Pcolor;
hu:double;
begin
  hu:=angle*3.1415/180;
  hcos:=cos(hu); hsin:=sin(hu);
  h:=bmp.Height; w:=bmp.Width ;
  widthbytes:=integer(bmp.scanline[0])-integer(bmp.scanline[1]);
  dst:=integer(bmp.ScanLine[h-1]);
  fillchar(pchar(dst)^,widthbytes*h,0); //使圖像全黑
  for y:=0 to h-1 do
        begin
        y1:=y -(h-cy);  //平移下的y
        for x:=0 to W-1 do
           begin
              x1:=x-cx; //平移下的x
              x3:=round(x1*hcos-y1*hsin);
              y3:=round(x1*hsin+y1*hcos); //平移下的新坐標
              x3:=x3+cx;
              y3:=y3+(h-cy);   //轉換回原坐標
              if (x3>=0) and (x3<w-1) and (y3>=0) and (y3<h-1) then
              pcolor(dst+x*3+y*widthbytes)^:=
                  pcolor(integer(sur)+x3*3+y3*widthbytes)^;
            end;
        end;
end;
//angle為旋轉的角度,cx、cy為旋轉中心, cx=width div 2,cy=height div 2即以圖像的中心為旋轉中心。此程序處理速度快,可處理大圖片。

procedure TForm1.Button2Click(Sender: TObject);
var
	Bmp: TBitmap;
begin
	Button2.Enabled := False;
	Bmp := TBitmap.Create();
  Bmp.Width := Image1.Width ;
  Bmp.Height := Image1.Height;
	Bmp.Assign(Image1.Picture.Bitmap);
  Bmp.SaveToFile('1.bmp');
	bmp_rotate(Image1.Picture.Bitmap, Bmp, 10 - TrackBar1.Position);
  Image1.Picture.Bitmap.Assign(Bmp);
  Bmp.Free();
  Button2.Enabled := True;;
end;

procedure RotateBmp(bmp: TBitmap; Center: TPoint; angle: Integer);
var
  tmpbmp: TBitmap;
  i, j, x, y, px, py: Integer;
  cAngle, sAngle: extended;
  p1, p2: Pchar;
begin
  while angle < 0 do
    angle := angle + 360;
  angle := angle mod 360;
  sAngle := sin(- angle * pi / 180);
  cAngle := cos(- angle * pi / 180);
  tmpbmp := tbitmap.create;
  tmpbmp.assign(bmp);
  for i := 0 to tmpbmp.height - 1 do
  begin
    p1 := pchar(tmpbmp.scanline[i]);
    py := 2 * (i - center.y) - 1;
    for j := 0 to tmpbmp.width - 1 do
    begin
      px := 2 * (j - center.x) - 1;
      x := (round(px * cAngle - py * sAngle) - 1) div 2 + center.x;
      y := (round(px * sAngle + py * cAngle) - 1) div 2 + center.y;
      if (x>=0) and (x<tmpbmp.width) and (y>=0) and (y<=tmpbmp.height) then
      begin
        p2 := pchar(bmp.scanline[y]) + x * 3;
        move(p1^, p2^, 3);
      end;
      inc(p1, 3);
    end;
  end;
end;



end.

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产亚洲一本大道中文在线| 欧美一级二级三级蜜桃| 福利一区二区在线观看| 激情综合色丁香一区二区| 亚洲一区二区综合| 亚洲图片自拍偷拍| 日韩精品成人一区二区在线| 日韩在线一二三区| 美女视频黄久久| 国产自产v一区二区三区c| 韩日欧美一区二区三区| 懂色av一区二区夜夜嗨| 国产成人精品网址| 91亚洲精品久久久蜜桃网站| 91香蕉视频mp4| 欧美色成人综合| 欧美一区二区大片| www久久精品| 国产精品美女久久久久久久久| 国产精品女同一区二区三区| 亚洲精品高清在线| 秋霞av亚洲一区二区三| 国产精品小仙女| 91丨九色丨黑人外教| 欧美日韩aaaaa| 精品第一国产综合精品aⅴ| 久久亚洲精华国产精华液| 国产精品久久久久一区二区三区 | 欧美精品一区二区三区蜜臀| 久久色成人在线| 亚洲免费在线观看视频| 丝袜美腿高跟呻吟高潮一区| 国产高清无密码一区二区三区| 97se亚洲国产综合自在线不卡 | 高清久久久久久| 欧美亚洲免费在线一区| 精品国产一区久久| 亚洲伦理在线精品| 久久精品国产网站| 91精彩视频在线| 日韩欧美电影在线| 一区二区三区色| 激情亚洲综合在线| 色噜噜狠狠一区二区三区果冻| 日韩免费一区二区| 亚洲综合激情小说| 99在线视频精品| 欧美电影免费观看高清完整版在线| 国产精品成人免费| 另类调教123区| 欧美天堂亚洲电影院在线播放| 337p日本欧洲亚洲大胆色噜噜| 一区二区三区电影在线播| 国产一区999| 宅男噜噜噜66一区二区66| 中文字幕视频一区| 国产高清久久久| 欧美va亚洲va香蕉在线| 亚洲一区视频在线| 色综合久久久久综合体桃花网| 久久久亚洲欧洲日产国码αv| 天堂在线一区二区| 91国产免费观看| 国产精品白丝在线| 波波电影院一区二区三区| 精品蜜桃在线看| 蜜桃av一区二区| 91精品国产入口| 五月综合激情婷婷六月色窝| 91蜜桃传媒精品久久久一区二区| 国产欧美一区二区精品性色超碰| 老司机午夜精品| 日韩久久久精品| 美日韩一区二区| 欧美精品一区二区三区蜜桃视频| 日本美女一区二区三区视频| 4438x亚洲最大成人网| 日韩影院在线观看| 日韩欧美在线网站| 蜜桃久久av一区| 国产亚洲欧洲997久久综合 | 欧美日韩亚洲综合在线| 亚洲第一二三四区| 欧美久久久久久久久久| 日一区二区三区| 欧美一区二区福利在线| 久久av中文字幕片| 国产婷婷精品av在线| 成人va在线观看| 一区二区高清免费观看影视大全| 在线视频一区二区三区| 日韩制服丝袜先锋影音| 精品1区2区在线观看| 国产xxx精品视频大全| 亚洲日本va午夜在线影院| 欧美亚洲国产一区二区三区va | 中文字幕在线观看一区二区| av综合在线播放| 亚洲午夜精品在线| 欧美一二区视频| 国产黄色91视频| 亚洲综合色婷婷| 精品国产乱码久久久久久久| 成人亚洲精品久久久久软件| 亚洲一区视频在线| 久久久综合激的五月天| 色八戒一区二区三区| 麻豆91免费观看| 亚洲最大成人综合| 精品国产成人系列| 在线影视一区二区三区| 精品亚洲国产成人av制服丝袜| 国产精品三级在线观看| 5月丁香婷婷综合| www.亚洲精品| 久久爱另类一区二区小说| 亚洲欧美日韩一区二区| 精品乱码亚洲一区二区不卡| 色婷婷综合久久| 极品尤物av久久免费看| 亚洲一区二区三区在线看| 久久久久久久久久看片| 欧美体内she精高潮| 国产成人综合在线播放| 日韩高清在线观看| 亚洲私人影院在线观看| 2023国产一二三区日本精品2022| 一本大道久久a久久综合| 狠狠v欧美v日韩v亚洲ⅴ| 天堂一区二区在线| 亚洲人成在线观看一区二区| 久久久久久久综合色一本| 欧美剧在线免费观看网站| 色综合夜色一区| 国产精品资源在线| 美腿丝袜亚洲色图| 日本欧洲一区二区| 婷婷久久综合九色综合绿巨人 | 免费高清视频精品| 亚洲中国最大av网站| 国产精品热久久久久夜色精品三区| 欧美精品一区男女天堂| 日韩精品一区二区三区四区| 欧美久久久一区| 在线播放一区二区三区| 欧美亚洲动漫另类| 在线观看欧美日本| 91在线观看污| 色综合天天综合| 色网站国产精品| 色域天天综合网| 91色九色蝌蚪| 在线亚洲一区观看| 色偷偷久久一区二区三区| 99久久久无码国产精品| 91免费看视频| 91成人在线精品| 欧美日韩成人综合天天影院| 欧美精品日韩一区| 日韩欧美的一区| 久久蜜桃av一区精品变态类天堂| 久久久午夜精品| 亚洲国产高清aⅴ视频| 中文字幕在线不卡一区二区三区| 国产精品久久久久久久裸模 | 美女mm1313爽爽久久久蜜臀| 蜜桃av噜噜一区| 国产成人在线视频免费播放| youjizz国产精品| 色婷婷精品大视频在线蜜桃视频| 欧美在线小视频| 欧美一级专区免费大片| 久久夜色精品国产欧美乱极品| 中日韩免费视频中文字幕| 一区二区三区在线免费| 热久久久久久久| 国产精品1024| 欧美在线|欧美| 欧美精品一区男女天堂| 中文字幕日韩精品一区| 亚洲网友自拍偷拍| 国产酒店精品激情| 在线观看免费视频综合| 欧美一区二区免费视频| 国产亚洲精品精华液| 亚洲欧洲av在线| 日韩国产一二三区| 不卡的av在线播放| 欧美一区午夜精品| 综合色天天鬼久久鬼色| 亚洲123区在线观看| 国产精一品亚洲二区在线视频| 色偷偷久久一区二区三区| 欧美一区二区三区在线视频| 国产精品久久久久天堂| 免费在线看一区| 91丨九色丨国产丨porny| 久久久亚洲午夜电影| 亚洲成人免费视| 99精品视频一区|