文档章节

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
深圳
程序员
DirectX 3D的程序中关于无法打开d3dx9.h

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

Nico_Yang
2016/11/08
31
1
打造最小的DirectX安装程序

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

长平狐
2012/11/12
128
0
微软运行库下载

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

那天午后
2013/05/01
0
0
开源游戏框架(转至wiki)

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

Matrix4X4
2012/04/17
1K
0
DirectX开发环境配置

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

teacheryang
2011/03/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

arts-week5

Algorithm 824. Goat Latin - LeetCode 152. Maximum Product Subarray - LeetCode 110. Balanced Binary Tree - LeetCode 67. Two Sum II - Input array is sorted - LeetCode 665. Non-dec......

yysue
14分钟前
0
0
iOS开发之AddressBook框架详解

iOS开发之AddressBook框架详解 一、写在前面 首先,AddressBook框架是一个已经过时的框架,iOS9之后官方提供了Contacts框架来进行用户通讯录相关操作。尽管如此,AddressBook框架依然是一个非...

珲少
44分钟前
1
0
两年摸爬滚打 Spring Boot,总结了这 16 条最佳实践

Spring Boot是最流行的用于开发微服务的Java框架。在本文中,我将与你分享自2016年以来我在专业开发中使用Spring Boot所采用的最佳实践。这些内容是基于我的个人经验和一些熟知的Spring Boot...

Java填坑之路
今天
3
0
《Spring5学习》04 - 面向切面编程

一、Spring面向切面编程的基本概念 面向切面编程(即AOP):把项目中需要再多处使用的功能比如日志、安全和事务等集中到一个类中处理,而不用在每个需要用到该功能的地方显式调用。 横切关注...

老韭菜
今天
2
0
day61-20180819-流利阅读笔记

跑道没了,它们还在跑:澳门赛狗业的遗孤 Daniel 2018-08-19 1.今日导读 相信你早就知道香港有个赛马会,可是你听说过香港的邻居澳门原本有个赛狗会吗?其实,对于澳门人来说,赛狗这项活动历...

aibinxiao
今天
15
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部