如何从BufferedImage对象获取InputStream?我试过这个,但ImageIO.createImageInputStream()总是返回NULL
BufferedImage bigImage = GraphicsUtilities.createThumbnail(ImageIO.read(file), 300);
ImageInputStream bigInputStream = ImageIO.createImageInputStream(bigImage);
Run Code Online (Sandbox Code Playgroud)
因为我可以成功地将bigImage绘制到JPanel,所以正确生成了图像缩略图.
谢谢.
在下面的代码中,我试图加载一些图像,并在它们单独加载后立即将它们放入舞台.但它被窃听,因为只显示最后一张图像.我怀疑这是一个关闭问题.我该如何解决?AS3中的闭包行为与Java Script中的行为不一样吗?
var imageList:Array = new Array();
imageList.push({'src':'image1.jpg'});
imageList.push({'src':'image2.jpg'});
var imagePanel:MovieClip = new MovieClip();
this.addChildAt(imagePanel, 0);
for (var i in imageList) {
var imageData = imageList[i];
imageData.loader = new Loader();
imageData.loader.contentLoaderInfo.addEventListener(
Event.COMPLETE,
function() {
imagePanel.addChild(imageData.loader.content as Bitmap);
trace('Completed: ' + imageData.src);
});
trace('Starting: ' + imageData.src);
imageData.loader.load(new URLRequest(imageData.src));
}
Run Code Online (Sandbox Code Playgroud) 此问题不仅与MouseEvent.CLICK事件类型有关,而与AS3中已存在的所有事件类型有关.我读了很多关于自定义事件的内容,但直到现在我还无法弄清楚如何做我想做的事情.我打算解释一下,希望你理解:
以下是我的情况说明:
for(var i:Number; i < 10; i++){
var someVar = i;
myClips[i].addEventListener(MouseEvent.CLICK, doSomething);
}
function doSomething(e:MouseEvent){ /* */ }
Run Code Online (Sandbox Code Playgroud)
但我希望能够将someVar作为参数传递给doSomething.所以我尝试了这个:
for(var i:Number; i < 10; i++){
var someVar = i;
myClips[i].addEventListener(MouseEvent.CLICK, function(){
doSomething(someVar);
});
}
function doSomething(index){ trace(index); }
Run Code Online (Sandbox Code Playgroud)
这种作品但不像我期望的那样.由于函数闭包,当实际触发MouseEvent.CLICK事件时,for循环已经结束并且someVar保持最后一个值,例子中的数字9.因此,每个影片剪辑中的每次点击都会调用doSomething传递9作为参数.这不是我想要的.
我认为创建自定义事件应该可以工作,但是当我触发MouseEvent.CLICK事件并将参数传递给它时,我找不到触发自定义事件的方法.现在我不知道这是不是正确的答案.
我该怎么做以及如何做?
在Netbeans 7.4中,您可以配置LESS或SASS编译器.您可以选中"保存时编译"选项.这很好用.但是如何从Netbeans手动触发此操作?我删除了目标文件夹,并希望重新编译所有内容,但我找不到如何.
我正在尝试使用display table-cell属性创建两列100%高度布局.它在Chrome上运行良好,但我在Firefox和IE上都没有成功.
这是小提琴:http://jsfiddle.net/ehfa0kk8/5/
看看它在Chrome上的工作原理.知道如何使这项工作?
<div id="table">
<div id="row">
<div id="cell_1">
<div id="overflown_div">
long content goes here...
</div>
</div>
<div id="cell_2">
Blah blah blah
</div>
</div>
</div>
Run Code Online (Sandbox Code Playgroud)
和CSS
html, body {
height: 100%;
margin: 0;
padding: 0;
}
#table {
width: 100%;
display: table;
height: 100%;
}
#row {
display: table-row;
}
#cell_1, #cell_2 {
display: table-cell;
height: 100%;
}
#cell_1 {
width: 390px;
background: aliceblue;
}
#cell_2 {
background: yellow;
}
#overflown_div {
height: 100%;
overflow: scroll; …Run Code Online (Sandbox Code Playgroud) 我可以使用MutationObserver来监听计算样式的变化吗?我有一个宽度为100%的div,我想知道它的计算宽度何时发生变化,但到目前为止还没有成功.如果我务实地更改样式,MutationObserver会起作用:
document.getElementById("myDiv").style.width = "200px"
但是,如果通过窗口调整大小或父div重新调整大小来调整接口大小,则它不起作用.
任何不涉及超时的解决方案?
更新:我对一个也不会涉及监听窗口调整大小事件的解决方案特别感兴趣,因为有时界面会在没有调整窗口大小的情况下发生变化.例如,具有宽度百分比和父节点大小的div更改.
我有一个Chrome扩展程序,用于侦听页面上的更新.onUpdated方法在页面上进行任何更改后调用侦听器.如果添加或删除DOM节点>,则调用侦听器.更新:似乎在加载请求后调用它.
我开始将此扩展程序移植到Firefox,到目前为止我找不到类似的功能.我想我可能需要深入研究XPCOM.
有人能指出我正确的方向吗?Firefox提供类似的东西吗?
谢谢!
javascript firefox google-chrome firefox-addon google-chrome-extension