如何将带有TYPE_INT_ARGB的BufferedImage保存到jpg?
程序生成我的图像:

它没关系,但是当我以这种方式保存它时:
ByteArrayOutputStream byteStream = new ByteArrayOutputStream();
BufferedOutputStream bos = new BufferedOutputStream(byteStream);
try {
ImageIO.write(buffImg, "jpg", bos);
// argb
byteStream.flush();
byte[] newImage = byteStream.toByteArray();
OutputStream out = new BufferedOutputStream(new FileOutputStream("D:\\test.jpg"));
out.write(newImage);
out.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)
结果是:

了解这是由于alpha层,但不知道如何解决它.Png格式不适合我,需要jpg.
我有一些XML文件,我想更改名称,如果name == testName.所以我写了这样的东西,但它不起作用.我在哪里做错了?它打印给我参数类型不匹配,我不知道为什么.
String xmlData = "
<logger>
<logLevel>
<id>1</id>
<idn>id1</idn>
<name>testName</name>
<level>warn</level>
<logLevelsPos>
<package id="97724539">
<packName>package1</packName>
</package>
<package id="98264591">
<packName>package2</packName>
</package>
</logLevelsPos>
</logLevel>
<logLevel>
<id>2</id>
<idn>id2</idn>
<name>nameName</name>
<level>error</level>
<logLevelsPos>
<package id="12732539">
<packName>package2</packName>
</package>
<package id="43264591">
<packName>package5</packName>
</package>
</logLevelsPos>
</logLevel>
</logger>";
def loggr = new groovy.util.XmlParser().parseText( xmlData );
for (def it : loggr.children()){
if(it.name.text().equals("testName") ) {
it.name.value = "ds";
//argument type mismatch ...
}
Run Code Online (Sandbox Code Playgroud)