扑克牌翻转动画

2023-12-02

您知道有哪些免费组件/库可以实现 3D 翻转效果吗?

演示在这里:斯诺克电视


这是一个尝试使用SetWorldTransform:

type
  TForm1 = class(TForm)
    PaintBox1: TPaintBox;
    Button1: TButton;
    Timer1: TTimer;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure PaintBox1Paint(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    FFrontBmp, FBackBmp: TBitmap;
    FBmps: array [Boolean] of TBitmap;
    FXForm: TXForm;
    FStep: Integer;
  end;

var
  Form1: TForm1;

implementation

uses
  Math;

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  FFrontBmp := TBitmap.Create;
  FFrontBmp.LoadFromFile(ExtractFilePath(Application.ExeName) + '53.bmp');
  FBackBmp := TBitmap.Create;
  FBackBmp.LoadFromFile(ExtractFilePath(Application.ExeName) + 'b1fv.bmp');
  FBmps[True] := FFrontBmp;
  FBmps[False] := FBackBmp;

  FXForm.eM11 := 1;
  FXForm.eM12 := 0;
  FXForm.eM21 := 0;
  FXForm.eM22 := 1;
  FXForm.eDx := 0;
  FXForm.eDy := 0;

  Timer1.Enabled := False;
  Timer1.Interval := 30;
end;

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

procedure TForm1.PaintBox1Paint(Sender: TObject);
begin
  SetGraphicsMode(PaintBox1.Canvas.Handle, GM_ADVANCED);
  SetWorldTransform(PaintBox1.Canvas.Handle, FXForm);
  PaintBox1.Canvas.Draw(0, 0, FBmps[FStep < 20]);
end;

procedure TForm1.Timer1Timer(Sender: TObject);
var
  Bmp: TBitmap;
  Sign: Integer;
begin
  Inc(FStep);

  Sign := math.Sign(FStep - 20);
  FXForm.eM11 := FXForm.eM11 + 0.05 * Sign;
  FXForm.eM21 := FXForm.eM21 - 0.005 * Sign;
  FXForm.eDx := FXForm.eDx - 1 * Sign;
  if FStep = 39 then begin
    Timer1.Enabled := False;
    PaintBox1.Refresh;
  end else
    PaintBox1.Invalidate;

  if not Timer1.Enabled then begin
    Bmp := FBmps[True];
    FBmps[True] := FBmps[False];
    FBmps[False] := Bmp;
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Timer1.Enabled := True;
  FStep := 0;
end;


I'm not sure if this stood a chance of turning out to be anything beautiful in case I had some maths capability, but here's currently how it looks:

enter image description here

The images used:  enter image description here  enter image description here

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

扑克牌翻转动画 的相关文章

  • 如何设置将在 Facebook 上显示为预览的网站图像?

    当您在 Facebook 上分享链接时 它会自动在网站上查找图像并随机选择一张作为预览 如何影响预览图像 当一个人在他的 Facebook 上分享网站链接时 1 将 Open Graph XML 命名空间扩展包含到您的 HTML 声明中 2
  • 从 C++ .dll 到 Delphi Forms 应用程序的 PostMessage 问题

    我有用 Delphi 7 编写的 Windows 窗体应用程序和使用 MFC 编写的 C dll 目前 我正在尝试实现从 dll 到主可执行文件的基本消息发布 以在进度条上显示用户计算过程 但遇到了几个问题 让我先描述一下我的方法 我在 D
  • 使用 Gridbaglayout 时的动画。

    我最近开始学习 Java 想知道是否可以在使用 GridBag 布局的同时制作动画 这些可能吗 如何实现 任何教程 帮助等将不胜感激 为了执行这种性质的任何类型的动画 您将需要某种代理布局管理器 它需要确定所有组件的当前位置 即布局管理器希
  • 压缩图像使其小于 4KB

    我有一个人的图像 我想将其压缩以使其小于 4KB 我需要对其进行压缩 并且即使图像缩小 仍然可以识别人的脸部 这是特蕾莎 梅 Theresa May 142kB 并调整大小为 72x72 并转换为灰度并减少到 2kB图像魔术师在命令行 co
  • Delphi 中的非字母排序

    我正在尝试按特定顺序对字符串列表进行排序 我尝试用 B C A 来订购 而不是 A B C 我已经按照我需要的顺序声明了一个 const 数组 我尝试过 CustomSorte 但我不明白如何编写该函数 我现在正在尝试使用 for 循环 但
  • 绘制圆圈(使用 for 循环在图像中应用的像素)

    我想使用像素位置 从左上角开始到右下角结束 绘制一个圆 带有 1 或 2 个 for 循环 我用这个方法成功绘制了一个矩形 private void drawrect int width int height int x int y int
  • 将数据从 DLL 传递到应用程序时出现问题

    我对如何在我的场景中正确使用指针感到有点困惑 我有一个 DLL 其中包含一些嵌入式资源 我在此 DLL 中公开了一个函数 该函数将这些资源之一的二进制数据传递回其调用应用程序 在本例中 我嵌入了 JPG 图像文件 我的 DLL 确实将文件正
  • XAML中无限旋转矩形

    如何定义XAML无限旋转矩形 到目前为止 我找到了一个带有代码但没有 xaml 的解决方案 http www codeproject com Articles 23257 Beginner s WPF Animation Tutorial
  • Android - 启动画面的淡出动画

    我想为我的启动画面添加淡出动画 即在关闭启动画面时我想带来淡出动画效果 这是我尝试过的代码 overridePendingTransition R anim fade in R anim fade out 但以上只能从2 0开始使用 Ny
  • 如何正确中断使用 matplotlib 创建的动画?

    我想正确地中断动画 背景 我有一个封装到 tkinter 实例中的 matplotlib 图 动画 我希望当用户按下 tkinter 按钮时 动画必须停止 删除并重新启动 我正在中断旧动画 通过使用del fig在回调函数 由按钮调用 的开
  • 如何获取已打开连接的套接字 ID/句柄/描述符? (.NET、C++、德尔福)

    我的问题已在标题中说明 我到底该怎么做呢 我有一个开放的连接 我想 劫持 它并通过它发送我的自定义消息 据我了解 这是通过套接字及其处理程序完成的 任何语言都可以 但首选 C NET 谢谢 UPDATE 我到底想要实现什么 我想为 post
  • Delphi - 引用在运行时创建的组件

    我正在使用 Delphi 5 并且在运行时创建许多面板 然后在面板上创建按钮 显然也是在运行时创建 我需要这样做 因为将来我可能需要动态创建更多面板 按钮组合 我可以完成所有这些 但我不知道如何引用我创建的面板 因为我找不到访问面板组件名称
  • 如何将路径添加到剪辑路径

    当尝试向图像添加波浪效果时 我陷入困境 这两个 SVG 一个包含我尝试实现的路径 第二个的行为符合预期 但剪辑路径 形状错误 当我粘贴到所需的路径时 它不起作用 为什么以及如何才能完成这项工作 期望的路径
  • 在php中将png合并到多边形上

    我很困惑 我尝试简单地绘制一个多边形并放在上面 就像一个带有透明度的 png 图层一样 没有任何成功 一次背景是黑色的 一次多边形变得不可见 这是我的 php 代码 header Content type image png The png
  • 使用 jQuery 异步加载图像

    我想使用 jQuery 在我的页面上异步加载外部图像我尝试过以下方法 ajax url http somedomain com image jpg timeout 5000 success function error function r
  • Genymotion 无法识别 SD 卡上的图像

    所以我一直在玩 Genymotion 喜欢使用它 但一直无法弄清楚如何将图像导入 Android Gallery 应用程序 因此我可以测试另一个应用程序 当前在 Galaxy Nexus 上运行 Android 4 3 尝试通过 adb 和
  • 将阿拉伯语文本导出为图像

    我有一堆 UTF 8 格式的阿拉伯文本 我尝试显示此设备的设备不支持显示阿拉伯语文本 因此 我需要将文本转换为图像 我想将每行文本保存为具有特定宽度的图像 我还需要使用特定的字体 做这个的最好方式是什么 有人知道这里有一个有用的工具吗 到目
  • 如何在 iOS 上的视图之间进行展开/收缩转换?

    我正在尝试在 iOS 中制作过渡动画 其中视图或视图控制器似乎扩展以填充整个屏幕 然后在完成后收缩回原来的位置 我不确定这种类型的转换的正式名称是什么 但您可以在 iPad 版 YouTube 应用中查看示例 当您点击网格上的搜索结果缩略图
  • 通过 PhoneGap (iOS) 上传后图像横向/上下颠倒

    不知道是什么原因造成的 但是当我通过以下方式将一些图像上传到远程服务器时FileTransfer http docs phonegap com en 1 0 0 phonegap file file md html FileTransfer
  • 如何使用 LiveBindings 在 TStringGrid 中显示超过 200 行?

    我有一个TDataSource这是由一个支持TClientDataset绑定到一个TStringGrid 我通过右键单击网格并选择 Link to DB Datasource 然后选择数据源 这为我设置了 LiveBindings 当我运行

随机推荐

  • Typescript 和 Jest:模拟会抛出类型错误,因为它使用了错误的重载

    在 Jest 测试中给出以下内容 const mockDirListing string sdafd sfdf const mockReaddirSync jest spyOn fs readdirSync mockReaddirSync
  • Python Pandas 数据框到 XML

    希望得到一些帮助或推动正确的方向 我有一个来自 txt 文件的 pandas 数据框 并且想将其插入到我正在制作的 xml 文档中 我可以设置 xml 文档 并使用以下方法将我的数据帧转换为 xml 如何将 pandas dataframe
  • GWT:在服务器端获取常量

    我试图获取存储在服务器端客户端中的常量 ConstantsWithLookup 但它不知道如何做到这一点 我的常量接口和常量属性位于同一文件夹中 我尝试过其他类似线程的提示 但没有成功 我尝试使用 ResourceBundle 尝试 Her
  • 获取java.util.Arrays$ArrayList的类

    我怎样才能知道实例java util Arrays ArrayList 我已经尝试过这个代码片段 但它根本不起作用 if myList instanceof Arrays Do something here 我将对象类类型与 ArrayLi
  • jQuery 日期选择器多选和取消选择[重复]

    这个问题在这里已经有答案了 是否可以启用jquery UI datepicker 来启用多选和取消选择 我正在使用的日期选择器的示例 http jqueryui com datepicker 我有一个要求 使日期选择器能够选择多个日期 我想
  • 包含撇号的 Ruby 正则表达式是什么?

    我目前正在为 Ruby 做 exercism io 但无法通过最后的测试 最后的测试内容如下 def test with apostrophes phrase Phrase new First don t laugh Then don t
  • 如何处理 Visual Studio C++ 中的访问冲突?

    通常访问冲突会终止程序 并且我无法使用以下命令捕获 Win32 异常try and catch 有没有办法让我的程序保持运行 即使发生访问冲突 最好我想处理异常并向用户显示发生了访问冲突 编辑 我希望我的程序非常健壮 即使是针对编程错误 我
  • 如何使用 JDBC 连接到本地主机?

    我在自己的机器上安装了MySql 我使用 MySql CommandLine Client 创建了数据库 创建了表 在学校开展项目时 我使用以下语法连接到学校的数据库 public static Statement connect try
  • 忽略 Elasticsearch 中的空格

    对于我的搜索 我想考虑以下事实 space 过滤器请求中的字符不是强制的 例如 当我过滤 THE ONE 我看到了相应的文档 就算写了也想看 THEONE 这就是我今天的查询的构建方式 boolQueryBuilder must Query
  • 在google云平台上部署python脚本

    我正在弄清楚如何在谷歌云平台上部署我的脚本 我已经创建了一个包含以下内容的目录或文件夹script py以及所有的图书馆 lib文件夹 我不明白的是设置我的app yaml to run script py python 2 7 和访问li
  • Jquery在页面加载后生效

    我正在使用jquery ui 但该页面需要很长时间才能加载 我还对 UL 标签的 LI 元素使用制表符功能 但一瞬间列表按原样显示 然后选项卡效果发生 我已经编写了用于在同一 html 文件中调用选项卡的 javascript 我如何减少加
  • 使用 soundpool 播放声音示例

    我想学习如何使用soundpool方法 我想让你向我展示一个运行 2 个声音的非常简单的示例 创建一个名为的文件夹raw under your app res 然后将您的铃声粘贴到此文件夹中 例如your app res raw ringt
  • 在两个可能的分隔符之一之前查找一个单词

    word 12335 anotherword 2323434 totallydifferentword 455 word 32 我需要抓取之前的字符串 or 仅使用基本 R 函数 我可以使用以下方法来做到这一点stringr但不想向我的包添
  • 如何在.net core项目中设置soapclient的超时

    我必须在 Net Core 2 0 项目中使用 SOAP 服务 我添加了服务参考 如以下链接所述 缺少链接 404 对于某些方法 服务运行良好 但是 某些方法需要很长时间 由于操作服务正在执行 在这种情况下程序会抛出异常 System Ne
  • 如何从我自己的网站更新 Facebook 状态?

    我有自己的网站 正在创建博客 新闻条目 但我希望在添加它们时将它们直接上传到我的 Facebook 页面 有没有一种简单的方法可以做到这一点 我的代码是这样的 是否有代码或 API 我可以用来更新我的 Facebook 页面 您需要注册成为
  • 带有post请求和参数作为Json对象android的HttpUrlConnection

    您好 我正在开发小型 Android 应用程序 我想在其中使用 HttpUrlConnection post 请求 并将 params 作为 json 对象 但它对我不起作用我是通过以下方式做到的 try URL url DataOutpu
  • 服务器端包含在expressjs中

    是否可以使用express js 生成服务器端包含 我正在尝试在不同页面上重用页眉和页脚标记 以便我可以在一处进行页眉 页脚更改 尝试使用部分 您必须在一些模板引擎之间进行选择 默认模板引擎是jade 因此为此您必须执行以下操作 创建一个文
  • 在.net 4.5项目中使用.net 2.0 dll(vshost在调试时崩溃)

    我正在尝试使用通过 dotnetbuilder 从 matlab 创建的 dll 文件 http www mathworks se help dotnetbuilder ug create a net component from matl
  • 在 OpenCV 中匹配相似图像

    我有两组图像 H 和 L H 由 512x512 图像组成 L 包含 H 中的所有图像 但缩小到 32x32 128x128 并带有有损压缩产生的压缩伪影 使用 OpenCV 将 H 中的图像与 L 中最接近的图像进行匹配的最佳方法是什么
  • 扑克牌翻转动画

    您知道有哪些免费组件 库可以实现 3D 翻转效果吗 演示在这里 斯诺克电视 这是一个尝试使用SetWorldTransform type TForm1 class TForm PaintBox1 TPaintBox Button1 TBut