1
A
回答
0
import java.nio.ByteBuffer;
import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.canvas.Canvas;
import javafx.scene.canvas.GraphicsContext;
import javafx.scene.effect.DropShadow;
import javafx.scene.image.PixelFormat;
import javafx.scene.image.PixelWriter;
import javafx.scene.paint.Color;
import javafx.stage.Stage;
public class ImageOpsTest extends Application {
// Image Data
private static final int IMAGE_WIDTH = 10;
private static final int IMAGE_HEIGHT = 10;
private byte imageData[] =
new byte[IMAGE_WIDTH * IMAGE_HEIGHT * 3];
// Drawing Surface (Canvas)
private GraphicsContext gc;
private Canvas canvas;
private Group root;
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("PixelWriter Test");
root = new Group();
canvas = new Canvas(200, 200);
canvas.setTranslateX(100);
canvas.setTranslateY(100);
gc = canvas.getGraphicsContext2D();
createImageData();
drawImageData();
primaryStage.setScene(new Scene(root, 400, 400));
primaryStage.show();
}
private void createImageData() {
int i = 0;
for (int y = 0; y < IMAGE_HEIGHT; y++) {
int r = y * 255/IMAGE_HEIGHT;
for (int x = 0; x < IMAGE_WIDTH; x++) {
int g = x * 255/IMAGE_WIDTH;
imageData[i] = (byte) r;
imageData[i + 1] = (byte) g;
i += 3;
}
}
}
private void drawImageData() {
boolean on = true;
PixelWriter pixelWriter = gc.getPixelWriter();
PixelFormat<ByteBuffer> pixelFormat = PixelFormat.getByteRgbInstance();
for (int y = 50; y < 150; y += IMAGE_HEIGHT) {
for (int x = 50; x < 150; x += IMAGE_WIDTH) {
if (on) {
pixelWriter.setPixels(x, y, IMAGE_WIDTH,
IMAGE_HEIGHT, pixelFormat, imageData,
0, IMAGE_WIDTH * 3);
}
on = !on;
}
on = !on;
}
// Add drop shadow effect
gc.applyEffect(new DropShadow(20, 20, 20, Color.GRAY));
root.getChildren().add(canvas);
}
}
这example taken from the docs演示了如何创建的图像出来byte[]
。当您将图像存储到数据库中时,您会将其恢复为byte[]
。
现在,你如何从数据库中检索图像完全取决于你,但一旦你找回它,你可以使用上面的程序将其转换成图像。
+0
谢谢。但是,这也可以在ImageView中实现吗? – acl
相关问题
- 1. 无法加载图像从数据库
- 2. 不能从数据库加载图像
- 3. 从数据库中加载PictureBox图像
- 4. 从数据库缓慢加载图像
- 5. 在JavaFX中加载图像
- 6. 加载图像到ImageView JavaFX
- 7. 从数据库中预载图像
- 8. 从数据库加载图像列图像,其中图像列可能为空
- 9. 将图像从数据库加载到图片框
- 10. 从数据库中将图像加载到图片框中
- 11. Javafx TableView无法从observableArrayList加载数据
- 12. 开罗从数据加载图像
- 13. 从Qt加载原始数据图像
- 14. codeigniter从数据库中加载视图
- 15. 我无法从JavaFX中的数据库加载用户名combobox
- 16. 添加图像从数据库到JTable
- 17. AJAX - 显示加载图像,直到数据库查询加载
- 18. javafx从sql server数据库检索图像
- 19. 从数据库显示字节作为图像在javafx imageview
- 20. 从实体框架的数据库加载图像到gridview中
- 21. MYSQL PHP HTML将图像从数据库加载到网站
- 22. ASP.NET MVC4 - 从数据库加载图像慢
- 23. wkhtmltopdf,从数据库加载的图像不显示
- 24. 从sql数据库加载后显示图像
- 25. 从数据库加载图像到jsp(struts2)
- 26. 如何在ASP.NET MVC中从数据库加载图像?
- 27. php - 无法从数据库加载图像
- 28. asp.net与谷歌浏览器从数据库中加载图像
- 29. 在servlet中加载页面时从数据库显示图像
- 30. JSP页面仅从数据库加载一个图像
[你有什么尝试?](http://www.whathaveyoutried.com/)我的意思是*除*问我们。 –
@AndrewThompson这是'JavaFX'而不是Swing! ;-) –
我知道。幸运的是,它不需要Java-FX的知识即可发现OP已投入/显示任何努力的问题;) –