将 Java2D 保存为 SWF(闪存)

2023-11-27

我正在尝试将 Java2D 中绘制的矢量图像的输出保存到 SWF 文件中。有很多很棒的库可以将 java2D 输出保存为 SVG (BATIK) 和 PDF(itext) 等内容,但我找不到 SWF 库。有任何想法吗?


我刚刚得到一个使用的示例雪碧图形2D对象来自Adobe 的 Flex 3。仅供参考...Flex 3 现已开源。

(来自 Sprite Graphics2D java) 雪碧图形2D是 Java2D 的 Graphics2D API 的 SWF 特定实现。对该类的调用将转换为可用于构造 SWF Sprite 的 TagList。

我通过查看这两个类发现了这一点三次曲线测试.java and SpriteTranscoder.java.

运行此示例所需的唯一两个 jar 是 swfutils.jar 和 batik-awt-util.jar,它们可以在这里下载.

这是我的示例代码...

     // Create the SpriteGraphics2D object
     SpriteGraphics2D g = new SpriteGraphics2D(100, 100);

     // Draw on to the graphics object
     Font font = new Font("Serif", Font.PLAIN, 16);
     g.setFont(font);         
     g.drawString("Test swf", 30, 30);         
     g.draw(new Line2D.Double(5, 5, 50, 60));
     g.draw(new Line2D.Double(50, 60, 150, 40));
     g.draw(new Line2D.Double(150, 40, 160, 10));

     // Create a new empty movie
     Movie m = new Movie();
     m.version = 7;
     m.bgcolor = new SetBackgroundColor(SwfUtils.colorToInt(255, 255, 255));
     m.framerate = 12;
     m.frames = new ArrayList(1);
     m.frames.add(new Frame());
     m.size = new Rect(11000, 8000);

     // Get the DefineSprite from the graphics object
     DefineSprite tag = g.defineSprite("swf-test");

     // Place the DefineSprite on the first frame
     Frame frame1 = (Frame) m.frames.get(0);
     Matrix mt = new Matrix(0, 0);
     frame1.controlTags.add(new PlaceObject(mt, tag, 1, null));

     TagEncoder tagEncoder = new TagEncoder();
     MovieEncoder movieEncoder = new MovieEncoder(tagEncoder);
     movieEncoder.export(m);

     //Write to file
     FileOutputStream fos = new FileOutputStream(new File("/test.swf"));
     tagEncoder.writeTo(fos);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将 Java2D 保存为 SWF(闪存) 的相关文章

  • 使用 JDBC 获取 Oracle 11g 的最后插入 ID

    我是使用 Oracle 的新手 所以我将放弃之前已经回答过的内容这个问题 https stackoverflow com questions 3131064 get id of last inserted record in oracle
  • Oracle Java 教程 - 回答问题时可能出现错误

    我是 Java 新手 正在阅读 Oracle 教程 每个部分之后都有问题和答案 我不明白一个答案中的一句话 见下面的粗体线 来源是https docs oracle com javase tutorial java javaOO QandE
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • 如何强制jar使用(或jar运行的jvm)utf-8而不是系统的默认编码

    我的Windows默认编码是GBK 而我的Eclipse完全是utf 8编码 因此 在我的 Eclipse 中运行良好的应用程序崩溃了 因为导出为 jar 文件时这些单词变得不可读 我必须在 bat 文件中写入以下行才能运行该应用程序 st
  • 如何将jscrollpane添加到jframe?

    我有以下源代码 有人可以给我建议如何将 jscrollpane 添加到 jframe 上吗 我尝试了几次将其添加到 jframe 但没有任何进展 它甚至没有显示 public class Form3 JFrame jframe new JF
  • 删除优先级队列的尾部元素

    如何删除优先级队列的尾部元素 我正在尝试使用优先级队列实现波束搜索 一旦优先级队列已满 我想删除最后一个元素 优先级最低的元素 Thanks 没有简单的方法 将元素从原始元素复制到新元素 最后一个除外 PriorityQueue remov
  • 埃拉托色尼筛法 - 实现返回一些非质数值?

    我用 Java 实现了埃拉托斯特尼筛法 通过伪代码 public static void sieveofEratosthenes int n boolean numArray numArray new boolean n for int i
  • 在 Struts 2 中传递 URL 参数而不使用查询字符串

    我想使用类似的 URL host ActionName 123 abc 而不是像这样传递查询字符串 host ActionName parm1 123 parm2 abc 我怎样才能在 Struts 2 中做到这一点 我按照下面的方法做了
  • tomcat 7.0.50 java websocket 实现给出 404 错误

    我正在尝试使用 Java Websocket API 1 0 JSR 356 中指定的带注释端点在 tomcat 7 0 50 上实现 websocket 以下是我如何对其进行编码的简要步骤 1 使用 ServerEndpoint注解编写w
  • 如何检测图像是否像素化

    之前有人在 SO 上提出过这样的问题 在Python中检测像素化图像 https stackoverflow com questions 12942365 detecting a pixelated image in python还有关于q
  • Android蓝牙java.io.IOException:bt套接字已关闭,读取返回:-1

    我正在尝试编写一个代码 仅连接到运行 Android 5 0 KitKat 的设备上的 目前 唯一配对的设备 无论我尝试了多少方法 我仍然会收到此错误 这是我尝试过的最后一个代码 它似乎完成了我看到人们报告为成功的所有事情 有人能指出我做错
  • 如何使用正则表达式验证 1-99 范围?

    我需要验证一些用户输入 以确保输入的数字在 1 99 范围内 含 这些必须是整数 Integer 值 允许前面加 0 但可选 有效值 1 01 10 99 09 无效值 0 007 100 10 5 010 到目前为止 我已经制定了以下正则
  • 如何通过注解用try-catch包装方法?

    如果应该在方法调用中忽略异常 则可以编写以下内容 public void addEntryIfPresent String key Dto dto try Map
  • 从休眠乐观锁定异常中恢复

    我有一个这样的方法 Transactional propagation Propagation REQUIRES NEW public void doSomeWork Entity entity dao loadEntity do some
  • 添加到列表时有没有办法避免循环?

    我想知道这样的代码 List
  • Eclipse - 安装新的 JRE (Java SE 8 1.8.0)

    我正在尝试安装 Java 8 到目前为止我所做的 安装最新版本的 Eclipse 下载并安装 Java SE 运行时环境 8http www oracle com technetwork java javase downloads jre8
  • Lombok @Builder 不创建不可变对象?

    在很多网站上 我看到 lombok Builder 可以用来创建不可变的对象 https www baeldung com lombok builder singular https www baeldung com lombok buil
  • 使用Java绘制维恩图

    我正在尝试根据给定的布尔方程绘制维恩图 例如 a AND b AND c我想在 Android 手机上执行此操作 因此我需要找到一种使用 Java 来执行此操作的方法 我找到了一个完美的小部件 它可以完成我在这方面寻找的一切布尔代数计算器
  • 我可以限制分布式应用程序发出的请求吗?

    我的应用程序发出 Web 服务请求 提供商处理的请求有最大速率 因此我需要限制它们 当应用程序在单个服务器上运行时 我曾经在应用程序级别执行此操作 一个对象跟踪到目前为止已发出的请求数量 并在当前请求超出允许的最大负载时等待 现在 我们正在
  • Hadoop NoSuchMethodError apache.commons.cli

    我在用着hadoop 2 7 2我用 IntelliJ 做了一个 MapReduce 工作 在我的工作中 我正在使用apache commons cli 1 3 1我把库放在罐子里 当我在 Hadoop 集群上使用 MapReduceJob

随机推荐

  • Pod Init 没有创建 xcworkspace?

    我启动了一台新 Mac 运行 sudo gem install cocoapods 完成 Pod 初始化 Pod 文件已创建 但没有 xcworkspace 文件 使用 Xcode 9 3 任何帮助表示赞赏 尝试过 卸载 cocoapods
  • 使用 R 中的工具提示绘制县级数据

    我在 www betydb org 上看到了美国县级的交互式分区统计图 我想使用 R 重现类似的地图 我只想要地图和工具提示 不是不同缩放级别的所有图块 或者切换地图的能力 该地图当前创建于ruby 弹出窗口 左下角 查询 MySQL 数据
  • 如何自动更新 MS-Access 2007 应用程序

    我有一个与 MySql 服务器通信的前端 Access 2007 应用程序 我想要一个功能 用户计算机上的应用程序可以检测到网络上有新版本 这并不困难 并将最新版本下载到本地驱动器并启动它 有谁有任何知识或经验如何做到这一点 Thanks
  • 如何在xampp中启用curl? [复制]

    这个问题在这里已经有答案了 如何在xampp中启用curl 我的 PHP twitter 应用程序需要curl 函数 但在 XAMPP 中并未启用它 如何启用它 我没有找到这样做的选择 您必须修改 xampp 文件夹中的 php ini 文
  • 如何在 Verilog 中将长语句分成行

    例如 我有一个很长的声明 display input data x output data x result x input data output data result 如何在 Verilog 中将其变成单语句和多行 您需要分解引用的字
  • 启动一个即使在 IE 中也能正常运行的文件下载?

    我正在寻找有关从 Javascript 启动文件下载的最佳方法的更多想法 启动下载的最佳方式 有很多好的想法 可以总结一下 在 iframe 上设置 src 使用 window location replace 使用带有元刷新标题的页面 使
  • Codeigniter URL 在没有 index.php 的情况下无法工作

    我刚刚建立了一个新网站http www reviewongadgets com 但是URL渲染有问题 当我输入如下 URL 时 它不起作用并给出页面未找到错误http www reviewongadgets com latest mobil
  • C 结构体成员的默认值

    是否可以为某些结构成员设置默认值 我尝试了以下方法 但是会导致语法错误 typedef struct int flag 3 MyStruct Errors gcc o testIt test c test c 7 error expecte
  • 在seaborn中使用Unicode文本

    我想在 Seaborn 中使用 Unicode 文本 Python 2 7 我可以使用 Unicode 文本作为 matplotlib 的图块 例如 import matplotlib pyplot as plt from matplotl
  • 告诉 Puppeteer 打开 Chrome 选项卡而不是窗口

    如果我打开了现有的 Google Chrome 窗口 我想告诉 puppeteer 打开一个新选项卡而不是打开一个新窗口 有没有办法做到这一点 是否有一些选项或标志我可以传递给木偶师来完成此任务 I have const puppeteer
  • 标准表单身份验证 Java servlet

    使用 Java Servlet 进行表单身份验证的标准方法是什么 从现在开始 我自己使用简单的 POST HTML 表单实现了这一点 根据数据库检查发送的参数 如果存在 将 User 对象保存到 HttpSession 中 检查每个 Ser
  • 解析 ANTLR 中的字符串插值

    我正在开发一个用于内部目的的简单字符串操作 DSL 并且我希望该语言能够支持 Ruby 中使用的字符串插值 例如 name Bob msg Hello name print msg prints Hello Bob 我正在尝试在 ANTLR
  • 证明在循环中使用范围运算符不会使用额外的内存

    当前的文档范围运算符 声明它不会消耗内存计数循环 范围运算符对于编写很有用foreach 1 10 循环以及对数组进行切片操作 在当前的实现中 没有创建临时数组当范围运算符用作 foreach 循环中的表达式时 但是当您编写如下内容时 旧版
  • WPF 将 StackPanel 的宽度从 0 动画到自动?

    我正在尝试在 StackPanel 的可见性从宽度 0 变为自动宽度时对其进行动画处理 这是我目前所拥有的
  • 使用 R 创建起点-终点矩阵

    我的数据框由个人和他们在某个时间点居住的城市组成 我想每年生成一个出发地 目的地矩阵 记录从一个城市到另一个城市的移动次数 我想知道 如何自动生成数据集中每年的出发地 目的地表 如何生成相同 5x5 格式的所有表格 5 是我的示例中的城市数
  • 基于 Spring-Boot 模块的集成测试

    我有一个多模块 Spring Boot 项目 我想知道如何设置集成测试来测试 Spring Data JPA 存储库 以下方法因此异常而失败 HV000183 无法加载 javax el E xpressionFactory 检查类路径上是
  • 致命错误 Varien_Autoload 未找到

    今天是个好日子 我使用示例数据安装了 magento 刷新了页面 一切似乎都正常 我的整个商店充满了样本数据 几分钟后我再次刷新 从那以后我不断收到此错误 PHP 致命错误 在第 53 行 var www vhosts shop cyber
  • libvlc 流屏幕的一部分

    我想使用 vlc 库流式传输屏幕的一部分 我写了一个小例子 include
  • DialogFragment 和 onDismiss

    我正在使用一个DialogFragment 我是这样展示的Activity DialogFragmentImage dialog DialogFragmentImage newInstance createBitmap dialog onD
  • 将 Java2D 保存为 SWF(闪存)

    我正在尝试将 Java2D 中绘制的矢量图像的输出保存到 SWF 文件中 有很多很棒的库可以将 java2D 输出保存为 SVG BATIK 和 PDF itext 等内容 但我找不到 SWF 库 有任何想法吗 我刚刚得到一个使用的示例雪碧