2012-11-02 37 views
1

我想知道是否可以将图像小部件缩小到小于图像资源本身的大小。我试过以下内容:在GWT中,是否可以缩放图像小部件以使其小​​于原始大小?

imageResource.setSize(size, size); 
imageResource.setPixelSize(size, size); 

我也试过在CSS文件中重新调整大小。但是,当我将图像缩小到比原始图像更小时,它只会将图像裁剪掉,实际上并没有缩小图像。在我看来,解决方案是使用高分辨率,更小的图像,如果需要的话我可以放大,但是我觉得我在这里错过了一些东西。

+0

您可以尝试使用Canvas对象并使用向量。 Canvas中的任何图像和任何其他矢量素材都可以被很好地处理。尝试使用GWT Canvas类或gwt-graphics(我以后用得很好) –

+0

谢谢大家的帮助。我通过为我的图像使用“数据资源”而不是“图像资源”来解决问题。这清除了它而不改变我的其他代码。这个答案当然已经在SO上了,但是我一直忽略它,因为我正在寻找解决方案几天无济于事。谢谢!!! – NickD

回答

1

您可以使用CSS3背景大小属性来缩放图像:

http://www.w3schools.com/cssref/css3_pr_background-size.asp

注意,它不是在一些很老的浏览器支持。

+1

我可以缩放图像,问题是当我尝试缩放比图像资源更小的图像时。它会缩小到图像资源的原始大小,然后它将开始剪切,而不是进一步缩放。因此,如果我有一个100像素×100像素的图像,并且我尝试将尺寸设置为50像素×50像素,则我会得到图像的左上角四分之一,而不是整个图像缩小到原始尺寸的四分之一。 – NickD

+0

如果您将图片设置为背景,您可以随心所欲地向上或向下缩放图片。看看这个:http://jsfiddle.net/s6bDu/原始图像是540像素。 –

1

您也可以尝试,

ImageResorce myImage = new ImageResource(); 
myImage.getElement().setAttribute("height","20px"); 
myImage.getElement().setAttribute("width","20px"); 

的欢呼声!

相关问题