在准备涉及图像的MCVE / SSCCE时,直接访问图像很有用。
可以解决大多数问题的图像类型包括-具有多种颜色或形状的小型图像,具有/不具有透明度的动画GIF,作为图像“成对”的JPEG,可用于图像过渡,平铺集,精灵表中。
对于这些类型的示例,是否可以热链接到任何较小的(小于30KB)的现场许可和免版税图片?
在准备涉及图像的MCVE / SSCCE时,直接访问图像很有用。
可以解决大多数问题的图像类型包括-具有多种颜色或形状的小型图像,具有/不具有透明度的动画GIF,作为图像“成对”的JPEG,可用于图像过渡,平铺集,精灵表中。
对于这些类型的示例,是否可以热链接到任何较小的(小于30KB)的现场许可和免版税图片?
Answers:
以下是一些常用的示例图像,这些图像主要来自SO上的现有答案。
最初在此答案中看到的使用Java生成的简单几何形状。它包括一个基于Java的界面,该界面定义了URL,并使它们易于访问。
详细信息:具有部分透明度(沿边缘)的32x32像素PNG(4种颜色x 5种形状)。
最初在此答案上看到的国际象棋棋子,它包括2个其他子画面集(不同颜色的相同图像)。
详细信息: 384x128像素(每个精灵64x64像素)PNG,具有部分透明度。
GIF是唯一支持动画的图像格式。这里有一些例子。
如答案中所示的虚线虚线动画。
详细信息: 100x30像素,填充的BG(无透明度)
如该答案所示,缩放星星最初是作为屏幕保护程序的“屏幕截图”。
详情: 160x120像素,填充的BG(无透明度)
如对“ 我的游戏中的动画砖”的回答所看到的,动画水。
详细信息: 60x60像素,填充的BG(无透明度)
最初为1.1C开发的轨道动画。“内部”行星的轨道(从水星到木星,在小行星带厚处显示了一个额外的轨道)。最好在深色背景上使用。
详细信息: 450x450和150x150 px具有透明度的GIF动画。
在悉尼,澳大利亚CBD的日出和月亮落在
望远镜在Mt Stromlo的堪培拉,澳大利亚堪培拉附近的澳大利亚日落。
详细信息: 480x320 px JPEG x4。(此处以1/2尺寸显示。)
全景在横跨悉尼东南郊区的黎明。
详情: 1474x436 px JPEG。
该地球的墨卡托地图可以向左/向右平铺。本来就看到这个答案。答案还包括该图像的第二个版本,该版本显示了赤道的半透明线(该线不在中心,但在其下方)。
详细信息: 640x316像素(底部赤道中间到中心赤道处增加44像素)PNG,带有透明BG。
为了获取图像的URL,可以在浏览器中看到图像的“上下文单击”,或者:
交替:
下面是一个Java类,用于拆分棋子精灵表,适合粘贴到MCVE中:
import java.awt.image.*;
import javax.imageio.*;
import java.net.*;
import java.io.*;
import java.util.*;
public final class ChessSprites {
private ChessSprites() {}
public static final int SIZE = 64;
public static final BufferedImage SHEET;
static {
try {
// see https://stackoverflow.com/a/19209651/2891664
SHEET = ImageIO.read(new URL("https://i.stack.imgur.com/memI0.png"));
} catch (IOException x) {
throw new UncheckedIOException(x);
}
}
public static final BufferedImage GOLD_QUEEN = SHEET.getSubimage(0 * SIZE, 0, SIZE, SIZE);
public static final BufferedImage SILVER_QUEEN = SHEET.getSubimage(0 * SIZE, SIZE, SIZE, SIZE);
public static final BufferedImage GOLD_KING = SHEET.getSubimage(1 * SIZE, 0, SIZE, SIZE);
public static final BufferedImage SILVER_KING = SHEET.getSubimage(1 * SIZE, SIZE, SIZE, SIZE);
public static final BufferedImage GOLD_ROOK = SHEET.getSubimage(2 * SIZE, 0, SIZE, SIZE);
public static final BufferedImage SILVER_ROOK = SHEET.getSubimage(2 * SIZE, SIZE, SIZE, SIZE);
public static final BufferedImage GOLD_KNIGHT = SHEET.getSubimage(3 * SIZE, 0, SIZE, SIZE);
public static final BufferedImage SILVER_KNIGHT = SHEET.getSubimage(3 * SIZE, SIZE, SIZE, SIZE);
public static final BufferedImage GOLD_BISHOP = SHEET.getSubimage(4 * SIZE, 0, SIZE, SIZE);
public static final BufferedImage SILVER_BISHOP = SHEET.getSubimage(4 * SIZE, SIZE, SIZE, SIZE);
public static final BufferedImage GOLD_PAWN = SHEET.getSubimage(5 * SIZE, 0, SIZE, SIZE);
public static final BufferedImage SILVER_PAWN = SHEET.getSubimage(5 * SIZE, SIZE, SIZE, SIZE);
public static final List<BufferedImage> SPRITES =
Collections.unmodifiableList(Arrays.asList(GOLD_QUEEN, SILVER_QUEEN,
GOLD_KING, SILVER_KING,
GOLD_ROOK, SILVER_ROOK,
GOLD_KNIGHT, SILVER_KNIGHT,
GOLD_BISHOP, SILVER_BISHOP,
GOLD_PAWN, SILVER_PAWN));
}