小编Dan*_*ani的帖子

将tiff转换为缓冲图像(Java)

我需要将tiff文件转换为BufferedImage.我写了以下代码:

String filepath = "C:\\tiffFolder\\";
String filename = "myTiffImage.tif";
File myFile = new File (filepath + filename); 
BufferedImage img = ImageIO.read(myFile);
Run Code Online (Sandbox Code Playgroud)

我知道myFile是正确实例化的:问题是在第四行代码后img仍为null.

我究竟做错了什么?非常感谢!

编辑

解决了,我使用了以下代码:

FileSeekableStream stream = new FileSeekableStream(filepath + filename);
TIFFDecodeParam decodeParam = new TIFFDecodeParam();
decodeParam.setDecodePaletteAsShorts(true);
ParameterBlock params = new ParameterBlock();
params.add(stream);
RenderedOp image1 = JAI.create("tiff", params);
BufferedImage img = image1.getAsBufferedImage();
Run Code Online (Sandbox Code Playgroud)

java bufferedimage tiff file javax.imageio

10
推荐指数
1
解决办法
1万
查看次数

用escape java创建字符串

我有以下问题,我有一个这样的字符串数组

String[] myArray = {"AAAA","BBBB","CCCC"};
Run Code Online (Sandbox Code Playgroud)

我的目的是创建另一个这样的数组

String myNewArray = {"\uAAAA","\uBBBB","\uCCCC"};
Run Code Online (Sandbox Code Playgroud)

问题是,如果我尝试使用循环创建数组

for (int i=0; i<myArray.length; i++) {
    myNewArray[i] = "\u" + myArray[i];
}
Run Code Online (Sandbox Code Playgroud)

如果我使用这样的循环,我会收到"无效的unicode错误"

for (int i=0; i<myArray.length; i++) {
    myNewArray[i] = "\\u" + myArray[i];
}
Run Code Online (Sandbox Code Playgroud)

我获得了这个数组

String myNewArray = {"\\uAAAA","\\uBBBB","\\uCCCC"};
Run Code Online (Sandbox Code Playgroud)

如果我使用这个循环

for (int i=0; i<myArray.length; i++) {
    myNewArray[i] = "\\u" + myArray[i];
    myNewArray[i] = myNewArray[i].substring(1);
}
Run Code Online (Sandbox Code Playgroud)

我获得了这个数组

String myNewArray = {"uAAAA","uBBBB","uCCCC"};
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎么做到这一点?

谢谢

java string escaping concatenation

6
推荐指数
1
解决办法
1148
查看次数

跨浏览器扩展开发框架


我正在评估跨浏览器扩展的开发(支持浏览器IE、Chrome、Safari和Firefox):我正在寻找一个跨浏览器开发框架,以避免代码重复并加快构建过程。
我查看了这个问题,并访问了建议的网站:每家公司似乎都已停止开发该产品。
我也读了这篇文章,其结论似乎阻止了开发人员构建跨浏览器扩展。
所以,我有几个问题:
- 你们中有人推荐一个适合我上面描述的目的的跨浏览器扩展开发框架吗?
- 上述框架是否有不再维护的原因?
- 有没有人发现了一种更有效的方法来实现相同的目标,而无需开发浏览器扩展?

非常感谢,
丹尼尔

frameworks development-environment cross-browser

5
推荐指数
1
解决办法
2879
查看次数

Pyinstaller密钥环Windows 32位

我有以下python测试代码:

import keyring
print(keyring.get_keyring())
keyring.set_password("a","b","c")
print(keyring.get_password("a","b"))
Run Code Online (Sandbox Code Playgroud)

如果我使用32位python或64位一个运行此代码,则将获得以下输出(按预期):

<keyring.backends.Windows.WinVaultKeyring object at 0x00000187B7DD6358>
c
Run Code Online (Sandbox Code Playgroud)

我的目的是构建两个独立的可执行文件(32位和64位):为了实现我正在使用pyinstaller和以下命令(test.py是包含上面显示的python代码的文件的名称)

pyinstaller --onefile test.py
Run Code Online (Sandbox Code Playgroud)

如果我运行64位exe,则将获得以下输出(按预期):

<keyring.backends.Windows.WinVaultKeyring object at 0x00000187B7DD6358>
c
Run Code Online (Sandbox Code Playgroud)

相反,如果我运行32位exe,则会获得以下输出:

<keyring.backends.fail.Keyring object at 0x05463ED0>
Traceback (most recent call last):
  File "test.py", line 3, in <module>
    keyring.set_password("a","b","c")
  File "site-packages\keyring\core.py", line 47, in set_password
  File "site-packages\keyring\backends\fail.py", line 23, in get_password
RuntimeError: No recommended backend was available. Install the keyrings.alt package if you want to use the non-recommended backends. See README.rst for details.
[2732] Failed to execute script test
Run Code Online (Sandbox Code Playgroud)

有人知道发生了什么吗? …

python windows 32-bit pyinstaller python-keyring

5
推荐指数
1
解决办法
635
查看次数

使用ExtJS 6拖放文件

我目前有一个webapp,其视图是使用ExtJS 6编写的:我们当前使用Java applet,其目的是允许用户将文件从文件系统拖放到Web服务器。我的目的是删除该小程序,并使用ExtJS6处理拖放:这可能吗?

我尝试在文档中进行搜索,但是发现的唯一主题(https://docs.sencha.com/extjs/6.0/core_concepts/drag_drop.html)与拖放框架元素有关。

java applet drag-and-drop extjs extjs6

1
推荐指数
1
解决办法
5780
查看次数