文档章节

Delphi 与 DirectX 之 DelphiX(90): TDIB.DrawMorphed();

涂孟超
 涂孟超
发布于 2014/09/26 15:38
字数 269
阅读 8
收藏 0

本例效果图:



代码文件:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, DIB, StdCtrls;

type
  TForm1 = class(TForm)
    DXPaintBox1: TDXPaintBox;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

const
  c1 = clRed;
  c2 = clYellow;

var
  w,h: Integer;

procedure TForm1.Button1Click(Sender: TObject);
begin
  w := DXPaintBox1.ClientWidth;
  h := DXPaintBox1.ClientHeight;
  DXPaintBox1.DIB.SetSize(w, h, 24);
  DXPaintBox1.DIB.Fill(c1);
  DXPaintBox1.DIB.Canvas.Brush.Style := bsClear;
  DXPaintBox1.DIB.Canvas.Font.Color := c2;
  DXPaintBox1.DIB.Canvas.Font.Name := 'Arial Black';
  DXPaintBox1.DIB.Canvas.Font.Size := 36;
  DXPaintBox1.DIB.Canvas.Font.Style := [fsBold];
  DXPaintBox1.DIB.Canvas.TextOut(20, 10, 'DelphiX');
  DXPaintBox1.Repaint;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  DXPaintBox1.DIB.DrawMorphed(DXPaintBox1.DIB, 0, 0, w, h, 0, 0, c2);
  DXPaintBox1.Repaint;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  DXPaintBox1.DIB.DrawMorphed(DXPaintBox1.DIB, 0, 0, w, h, 0, 0, c1);
  DXPaintBox1.Repaint;
end;

end.

 
 
 
 
 

 

 

  

窗体文件:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 134
  ClientWidth = 273
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object DXPaintBox1: TDXPaintBox
    Left = 8
    Top = 8
    Width = 257
    Height = 89
    AutoStretch = False
    Center = False
    KeepAspect = False
    Stretch = False
    ViewWidth = 0
    ViewHeight = 0
  end
  object Button1: TButton
    Left = 8
    Top = 103
    Width = 75
    Height = 25
    Caption = 'Button1'
    TabOrder = 0
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 109
    Top = 103
    Width = 75
    Height = 25
    Caption = 'Button2'
    TabOrder = 1
    OnClick = Button2Click
  end
  object Button3: TButton
    Left = 190
    Top = 103
    Width = 75
    Height = 25
    Caption = 'Button3'
    TabOrder = 2
    OnClick = Button3Click
  end
end

 
 
 
 
 

 

 

  

本文转载自:http://www.cnblogs.com/del/archive/2009/01/24/1380751.html

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
开源游戏框架(转至wiki)

免费和开源引擎,转载自维基 Agar - 一个高级图形应用程序框架,用于2D和3D游戏。 Allegro - 基于 C/C++ 的游戏引擎,支持图形,声音,输入,游戏时钟,浮点,压缩文件以及GUI。 Axiom 引擎 ...

Matrix4X4
2012/04/17
1K
0
打造最小的DirectX安装程序

DirectX Runtime 核心组件有Direct3D, DirectSound和DirectInput, 可以看作是操作系统的一部分. DirectX9.0c的核心组件自从DirectX SDK Summer 2004后就再也没有变过了, 除了Vista上的DX10....

长平狐
2012/11/12
128
0
delphi各个版本编译开关值

delphi各个版本编译开关值 {$IFDEF VER80} - Delphi 1 {$IFDEF VER90} - Delphi 2 {$IFDEF VER100} - Delphi 3 {$IFDEF VER120} - Delphi 4 {$IFDEF VER130} - Delphi 5 {$IFDEF VER140} - D......

伽罗kapple
2016/03/01
10
0
用delphi+Apache 开发动态网站(二)

-------创建数据库应用 时间过的真快,距离上次写Delphi+Apache 开发动态网站已经快一年了,Borland 的Delphi 7都发布快半年了,一直没有时间静下写文章,今天就写一下怎么创建数据库应用,其...

xalion
2012/01/12
0
0
漫谈 C# 在游戏领域的应用

原文出处:慕容小匹夫 0x00 前言 随着微软越来越开放,C#也变得越来越吸引人们的眼球。而在游戏行业中,C#也开始慢慢地获得了关注。这不, 网易绝代双娇手游团队已经全面使用.Net Core支持前...

慕容小匹夫
2016/06/28
0
0

没有更多内容

加载失败,请刷新页面

加载更多

deepin系统使用deepin-wine安装exe程序

deepin自带原生deepin-wine使用命令如下: deepin-wine QQBrowser.exedeepin-wine QQMusicSetup.exe 默认安装的快捷方式位置: /root/.wine/drive_c/'Program Files'/Tencent/QQBrowser/......

临江仙卜算子
49分钟前
3
0
快速get到学习Linux操作系统的点

快速get到学习Linux操作系统的点 Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。Linux能够运行主要的UNIX工具软件...

linuxCool
55分钟前
3
0
聊聊:Linux分区的那些方案

安装linux的整体步骤其实比较简单,唯一可能值得说明的地方,大概就是linux的分区了。 下面来给大家推荐一些分区方案。 1 分两个区 实际上,很多时候我们只需要分两个区:`/`和交换分区,日常...

Linux就该这么学
今天
3
0
适配器模式和外观模式

适配器模式: 将一个类的接口,转换成客户期望的另一个接口。适配器让原本不兼容的类可以合作无间。 例子: //将Enumeration转换成Iteratorpublic class EnumerationIterator implements Iter...

王怀楼
今天
4
0
7-CXF与Spring整合发布webservice

Spring+CXF整合来管理webservice 实现步骤: 1. 添加cxf.jar 包(集成了Spring.jar、servlet.jar ),spring.jar包 ,servlet.jar 包 2. 编写业务类,通过CXF来发布webservice 员工管理: 方法...

江戸川
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部