文档章节

Delphi 与 DirectX 之 DelphiX(86): TDIB.DrawOn();

涂孟超
 涂孟超
发布于 2014/09/26 15:33
字数 195
阅读 1
收藏 0

本例效果图:



代码文件:
unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    DXPaintBox1: TDXPaintBox;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure DXPaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

var
  dib: TDIB;

procedure TForm1.DXPaintBox1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  DXPaintBox1.DIB.Fill(clGray);
  dib.DrawOn(dib.ClientRect, DXPaintBox1.DIB.Canvas, -X, -Y);
  DXPaintBox1.Repaint;
end;

procedure TForm1.FormCreate(Sender: TObject);
const
  ImgPath1 = 'C:\Temp\DX.jpg';
begin
  dib := TDIB.Create;
  dib.LoadFromFile(ImgPath1);
  DXPaintBox1.Width := dib.Width;
  DXPaintBox1.Height := dib.Height;
  DXPaintBox1.DIB.SetSize(dib.Width, dib.Height, 24);
  DXPaintBox1.DIB.Fill(clGray);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  dib.Free;
end;

end.

 
 
 
 
 

 

 

  

窗体文件:
object Form1: TForm1
  Left = 0
  Top = 0
  Caption = 'Form1'
  ClientHeight = 142
  ClientWidth = 163
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'Tahoma'
  Font.Style = []
  OldCreateOrder = False
  OnCreate = FormCreate
  OnDestroy = FormDestroy
  PixelsPerInch = 96
  TextHeight = 13
  object DXPaintBox1: TDXPaintBox
    Left = 8
    Top = 8
    Width = 81
    Height = 73
    AutoStretch = False
    Center = False
    KeepAspect = False
    Stretch = False
    ViewWidth = 0
    ViewHeight = 0
    OnMouseUp = DXPaintBox1MouseUp
  end
end

 
 
 
 
 

 

 

  

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

共有 人打赏支持
涂孟超
粉丝 12
博文 2011
码字总数 14107
作品 0
深圳
程序员
私信 提问
微软运行库下载

微软运行库下载 那天午后2013-05-0142 阅读 windows • 玩游戏时提示缺少DirectX、dxdxxx.dll 等时候怎么办?请安装 DirectX End-User Runtimes! DirectX 完整安装包2010.6最新版(包含DX9...

那天午后
2013/05/01
0
0
DirectX 3D的程序中关于无法打开d3dx9.h

当使用d3dx的函数如D3DXMATRIX 矩阵时,提示无法找到,只需要 在项目-》属性-》配置属性-》VC++目录包含 目录和引用目录添加上 包含文件 "C:Program Files (x86)Microsoft DirectX SDK (Jun...

Nico_Yang
2016/11/08
31
1
DirectX开发环境配置

如何配置DirectX开发环境 作者:zdd 来源:博客园 发布时间:2009-11-04 09:46 阅读:602 次 原文链接 [收藏] 一个DirectX程序要想正确的编译和链接,需要下面三个主要前提 一 安装DirectX S...

teacheryang
2011/03/14
0
0
开源游戏框架(转至wiki)

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

Matrix4X4
2012/04/17
1K
0
嵌入式操作系统--Windows XP Embedded

Windows XP Embedded为微软研发的嵌入式操作系统,是一个以组件模块展现出与 Windows XP Professional操作系统一样的接口与操作模式,可依各自需求组合出的操作系统镜像文件,确保有Windows...

匿名
2010/01/26
12.2K
0

没有更多内容

加载失败,请刷新页面

加载更多

弹窗时候禁止页面滚动

1、依靠css 将页面 document.documentElement.style.overflow='hidden'; document.body.style.overflow='hidden';//手机版设置这个。 如果设置了如上,页面的滚动条将会消失,此时鼠标滚轮失......

Jack088
13分钟前
1
0
.NET的数学库NMath实用教程——创建最小二乘法

NMath是一个适用于所有.NET语言,如C#、Visual Basic、F#和.NET的数学库,它包含了.NET平台上的面向对象数字计算的基础类。我们将以连载的形式向大家介绍NMath的实用教程,有任何建议或提示...

ymy_666666
13分钟前
1
0
索尼为收购工作室准备,对抗微软?

对比来说,索尼方面不但没有增加新的工作室,反而在过去两年内关闭了一些工作室。面对微软的步步紧逼,索尼最新的招聘广告暗示将来有可能会收购一些工作室。 在领英上,索尼互动娱乐发布了两...

linuxCool
14分钟前
1
0
公司网站有漏洞被入侵该怎么解决

2019年1月14日消息,thinkphp又被爆出致命漏洞,可以直接远程代码执行,getshell提权写入网站木马到网站根目录,甚至直接提权到服务器,该漏洞影响版本ThinkPHP 5.0、ThinkPHP 5.0.10、Think...

网站安全
26分钟前
2
0
centos7 Nginx+rtmp 搭建流媒体服务器

一. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: yum -y install gcc gcc-c++ 二. PCRE pcre-devel 安装 PCRE(Perl Compatib...

legend3
43分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部