【发布时间】:2016-05-15 11:48:20
【问题描述】:
只是不知道该怎么做:
我们有一张图片,我们知道这张图片中一张卡片的常量WIDTH 和HEIGHT。我想在这张图片中显示一张图片。下一个常数是我们有多少张卡片,所以CNT_CARDS = 52。我不想创建每张卡片 - 只显示。我正在使用 winforms (C#)。
伪代码
加载图像。
每张卡都可以申请:
int offsetTop = row * HEIGHT;
int offsetLeft = column * WIDTH;
imageInImage.Location = new Point(offsetLeft, offsetTop);
imageInImage.Size = new Size(WIDTH, HEIGHT);
例如,如果我们想获得钻石女王:
int offsetTop = 2 * HEIGHT;
int offsetLeft = 11 * WIDTH;
【问题讨论】:
-
为什么要这样做?您本质上是在要求与 CSS sprite 等效的 C#(服务器端),对吗?我认为这样做没有任何好处,因为您没有获得 CSS sprites 提供的优势,即单一下载到客户端计算机。您已经作为 WinForms 应用程序在客户端计算机上。那么,您将拥有一张图片而不是 52 张图片的唯一好处是什么?
-
我想这样做,因为显示一个图像而不是 52。真的,这是 C# 的问题。当然,这是 CSS 中的正常操作,但如果您理解的话,我需要用 C# 解决这种情况。
-
不,我知道你想在 C# 和 CSS 中做这件事,只是想知道更多这样做的动机。看起来您在下面有一些答案可以帮助您入门。
标签: c#