在准备 MCVE 时/SSCCE涉及图像,直接访问图像很有用。
可以涵盖大多数问题的图片类型包括 - 多种颜色或形状的小图片、带/不带透明度的动画 GIF、“成对”图片的 JPEG,可用于图像过渡、平铺集、 Sprite 表..
对于这些类型的示例,我们可以热链接到任何小型(小于 30KB)、现场、许可和免版税图片吗?
最佳答案
以下是一些常用的示例图片,主要来自 SO 上的现有答案。
图标
简单几何形状使用 Java 生成,最初见 this answer .它包括一个基于 Java 的接口(interface),用于定义 URL 并使它们易于访问。
详细信息: 32x32 像素 PNG(4 种颜色 x 5 种形状),部分透明(沿边缘)。
Sprite 表
棋子,最初见于 this answer其中包括 2 个其他 Sprite 集(不同颜色的相同图像)。
详细信息: 384x128 像素(每个 Sprite 64x64 像素)PNG,部分透明。
分类: png sprite-sheet icons
动画
GIF 是唯一支持动画的图像格式。下面是几个例子。
分类: gif animated-gif
固体背景
动画虚线边框,见 this answer .
详细信息: 100x30 像素,填充 BG(无透明度)
缩放星星,如 this answer 中所示,最初是作为屏幕保护程序的“屏幕截图”开发的。
详细信息: 160x120 像素,填充 BG(无透明度)
动画水见this answer至Animating Tiles In My Game .
详细信息: 60x60 像素,填充 BG(无透明度)
透明背景
轨道动画,最初是为 1.1C 开发的. “内”行星的轨道(从水星到木星,在小行星带的厚处显示了一个额外的轨道)。在黑暗的 BG 上效果更好。
详细信息: 具有透明度的 450x450 和 150x150 像素动画 GIF。
图片
日出和月落在澳大利亚悉尼中央商务区上空
在望远镜上的日落和金星,在澳大利亚堪培拉附近的斯特罗姆洛山上。
详细信息: 480x320 像素 JPEG x 4。(此处以 1/2 大小显示。)
黎明时分的全景横跨悉尼东南郊区。
分类: jpg panoramas animation (滚动)
详细信息: 1474x436 像素 JPEG。
瓷砖
这个墨卡托地球 map 可以左右平铺。最初见于 this answer .答案还包括图像的第二个版本,它显示了一条半透明的赤道线(它不在中心,但明显低于它)。
详细信息: 640x316 像素(在赤道底部添加 44 像素)带有透明背景的 PNG。
提示
要获取图像的 URL,您可以在浏览器中看到的图像上“上下文单击”,或者:
- 显示属性。可以从出现的对话框中复制 URL。
- 查看图片。从浏览器地址栏中复制 URL。
交替:
- 使用浏览器“显示源代码”并从 HTML 中复制。
- 对于那些有足够代表的人。 (100+,编辑社区 Wiki 答案),转到 edit the answer并从文本中提取 URL。
代码
下面是一个拆分棋子 Sprite 表的 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("/image/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));
}
关于java - 代码和标记问答的示例图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19209650/