- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
现在我有:
EncodedImage logo = EncodedImage.getEncodedImageResource("image.png");
logo.scaleImage32(Fixed32.toFP(2), Fixed32.toFP(2));
BitmapField image = new BitmapField(logo.getBitmap());
image.setMargin(15, 15, 15, 15);
this.add(image);
它只是以正常大小显示图像。然而,logo.setScale(2)
代替 .scaleImage32(...)
工作,但它已被弃用。
使用 .scaleImage32() 来显示我的图像一半大小的正确方法是什么?
最佳答案
不幸的是,您被一个糟糕的 API 所欺骗,在我看来,这是 Java(以及所有 C 语言)的一个弱点。
您认为 scaleImage32()
正在缩放您的 logo
图像。事实并非如此。它正在返回缩放后的 logo
副本。但是,您没有对该值执行任何操作。当您确实需要 scaleImage32()
返回的缩放副本时,您使用 logo
显示在位图字段中:
EncodedImage logo = EncodedImage.getEncodedImageResource("image.png");
EncodedImage scaledLogo = logo.scaleImage32(Fixed32.toFP(2), Fixed32.toFP(2));
BitmapField image = new BitmapField(scaledLogo.getBitmap());
我再补充几点:
1) 如果您可以将您的应用程序限制在 OS 5.0 及更高版本,我 think that the scaleInto() API is easier to use
2) 这种情况就是人们对方法名称大惊小怪的原因。 RIM 为 scaleImage32()
选择了一个糟糕的名称,因为这会让您相信调用该方法的实例将被缩放。它应该被命名为 getScaledImage32()
,或者类似的名称。
3) 在我不好意思承认的晦涩的编程内容 的标题下,我曾经在 Ada 中编写代码. Ada 旨在尽可能多地防止编程错误。 Ada 的特点之一是编译器将未使用的返回值视为错误。这种情况正是原因。
所以,不要对这个感到太难过:)
关于blackberry - 如何使用 scaleImage32() 将我的图像缩小到一半大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14492232/
我正在尝试根据宽度/高度缩放图像。这是我的方法: private byte[] scaleImage(Bitmap image) { byte[] image = new byte[]{};
resizeImage 和 scaleImage 有什么区别? 如果图像的大小大于 $myLimit,我需要调整图像的大小 示例(伪代码): $myLimit = 1MB user uplaod an
我是一名优秀的程序员,十分优秀!