我正在使用.NET应用程序来使用ImageMagick缩小图像文件大小.我的应用程序将一些"设置"存储Hashtable在应用程序的各个区域中.我现在正在添加一个功能,以根据转换后图像中所需的DPI缩小图像大小.基本上,我在未改变的图像中查找DPI,计算所需DPI相对于当前DPI的百分比,然后我将按此比例调整图像尺寸.
ImageMagick将图像DPI报告为浮点值.所以200x200 DPI真的是199.975x199.975.因此,我用它Math.Ceiling()来获取我的应用程序中的值.当我尝试使用我的设置中所需的DPI Hashtable进行百分比计算时,我得到一个无效的强制转换异常.我不知道为什么会这样.
这是一个测试用例,其失败方式与我的实际代码相同:
using System;
using System.Collections;
namespace typetest
{
class Program
{
private struct DPI {
public double x;
public double y;
}
public static void Main(string[] args)
{
Hashtable vars = new Hashtable();
DPI dpi;
string dpiString = "199.547:199.547";
string[] ret;
vars["newDpiX"] = 150;
vars["newDpiY"] = 150;
ret = dpiString.Split(':');
dpi.x = ( (double)vars["newDpiX"] / Math.Ceiling(double.Parse(ret[0])) ) * 100;
dpi.y = ( (double)vars["newDpiY"] / Math.Ceiling(double.Parse(ret[1])) ) * …Run Code Online (Sandbox Code Playgroud) 我有以下代码块可以正常工作:
<%@page import="java.util.*" %>
<%@page import="java.security.*" %>
<%
String str = "A string to hash.";
MessageDigest md = MessageDigest.getInstance("MD5");
md.update( str.getBytes() );
byte[] digest = md.digest();
StringBuffer hexString = new StringBuffer();
for (int i = 0, j = digest.length; i < j; i++) {
String tmp = Integer.toHexString(0xFF & digest[i]);
if (tmp.length() < 2) {
tmp = "0" + tmp;
}
hexString.append(tmp);
}
out.println(hexString.toString());
%>Run Code Online (Sandbox Code Playgroud)
当我试图将哈希代码分解为方法时,我在定义MessageDigest对象时出现"NoSuchAlgorithmException"错误:
<%@page import="java.util.*" %>
<%@page import="java.security.*" %>
<%
String str = "A string to hash"; …Run Code Online (Sandbox Code Playgroud) 我想做一个像Bump这样的应用程序,触摸两个iPhone我可以检测到它们,是否有人知道如何检测iPhone的物理凹凸?
非常感谢!
假设我有一个应该代表硬币翻转的算法.我如何确定这枚硬币的偏见?具体来说,我已经在这个JSFiddle中编写了算法.
小提琴进行了一系列的20次测试.每次测试都会将硬币翻转100次并计算结果.在本系列的最后,它报告Heads/Tails了所有测试中翻转的总数.这个结果似乎接近1(来自双方),但我没有对此进行过严格的测试.
注意,这不是功课.这纯粹是个人兴趣.
根据文档,Grails控制器只是一个类,"Controller"附加到名称并保存在其中grails-app/controllers/.这类中最简单的是:
package some.package
class FooController {
def index = {}
}
Run Code Online (Sandbox Code Playgroud)
运行Grails应用程序时,此控制器将继承一些标准方法,如getParams和getSession.从附带的屏幕截图中我可以看到这些是通过添加的groovy.lang.ExpandoMetaClass.我没看到的是这是怎么发生的.控制器不实现任何接口或扩展任何抽象.这些方法来自哪里?
