掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
垂直方向180度反転かつ画像を180度回転させる (ID:29278)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
こんな感じですかね? 180°,90°回転は三角関数を使うまでもありません。 これはコントロールを回転させてますが画像の回転は画像処理で行ってください。 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, Menus, StdCtrls, Contnrs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private 宣言 } procedure N1Click(Sender: TObject); public { Public 宣言 } Buttons: array [0..2] of TButton; List:TList; end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var MainMenu1: TMainMenu; N1: TMenuItem; i:Integer; begin MainMenu1:=TMainMenu.Create(Self); N1:=TMenuItem.Create(MainMenu1); N1.Caption:='反転'; N1.OnClick:=N1Click; List:=TList.Create; for i:=0 to Length(Buttons)-1 do begin Buttons[i]:=TButton.Create(self); Buttons[i].Parent:=self; Buttons[i].Width:=100; Buttons[i].Height:=30; Buttons[i].Caption:='Button ' + inttostr(i); //反転させるオブジェクトを登録 List.Add(Buttons[i]); end; Buttons[0].Left:= (ClientWidth - Buttons[0].Width) div 2; Buttons[0].Top := 0; Buttons[1].Left:= 0; Buttons[1].Top := Buttons[0].Height+20; Buttons[2].Left:= ClientWidth - Buttons[2].Width; Buttons[2].Top := Buttons[0].Height+20; MainMenu1.Items.Add(N1); end; procedure TForm1.N1Click(Sender: TObject); var i:Integer; begin //反転ルーチン for i:=0 to List.Count-1 do begin TControl(List.Items[i]).Left:= ClientWidth - TControl(List.Items[i]).Left - TControl(List.Items[i]).Width; TControl(List.Items[i]).Top := ClientHeight - TControl(List.Items[i]).Top - TControl(List.Items[i]).Height; end; end; end.
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.