我正在尝试创建一个非常基本的 Sprite 图像。

首先,我有一个现有的图像(宽度 = 100 像素,高度 = 100 像素)。

我将在这张图片中循环 10 到 100 次,每次都将它放在前一张图片旁边的 Sprite 上。

Sprite 被限制为 3000px 宽。

将图像彼此相邻放置很好,因为我可以用一种简单的方法将它们组合起来,但是,我需要将组合图像的宽度限制为 3000 像素,然后从新行开始。

最佳答案

让我尝试一些伪代码:

Bitmap originalImage; //  that is your image of 100x100 pixels
Bitmap bigImage;      //  this is your 3000x3000 canvas
int xPut = 0;
int yPut = 0;
int maxHeight = 0;
while (someExitCondition)
{
    Bitmap imagePiece = GetImagePieceAccordingToSomeParameters(originalImage);
    if (xPut + imagePiece.Width > 3000)
    {
        xPut = 0;
        yPut += maxHeight;
        maxHeight = 0;
    }
    DrawPieceToCanvas(bigImage, xPut, yPut, imagePiece);
    xPut += imagePiece.Width;
    if (imagePiece.Height > maxHeight) maxHeight = imagePiece.Height;
    //  iterate until done
}

关于c# - 如何创建 Sprite 图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10451823/

10-16 08:59