小编sar*_*old的帖子

为什么TextRenderer.MeasureText无法在C#中使用较大的字体正确测量文本?

我正在做的是获取字符串的像素大小并将其转换为百分之一英寸(即像素/ DPI =英寸,英寸*100 =百分之一英寸).这是我的代码:

private static SizeF TextSize(string text, Font txtFnt)
{
    SizeF txtSize = new SizeF();

    // The size returned is 'Size(int width, int height)' where width and height
    // are the dimensions of the string in pixels
    Size s = System.Windows.Forms.TextRenderer.MeasureText(text, txtFnt);

    // Value based on normal DPI settings of 96
    txtSize.Width = (float)Math.Ceiling((float)s.Width / 96f * 100f); 
    txtSize.Height = (float)Math.Ceiling((float)s.Height / 96f * 100f);

    return txtSize;
}
Run Code Online (Sandbox Code Playgroud)

现在,使用Arial字体,这对于小于12的字体都可以正常工作,但之后字符开始被切断,因为计算出的尺寸小于实际尺寸.我知道我的DPI设置设置为96.我的字体定义与字体大小的变化相同:

Font myFont = new Font("Arial", <font size>, FontStyle.Regular, GraphicsUnit.Point); …
Run Code Online (Sandbox Code Playgroud)

c# drawing text measurement

5
推荐指数
1
解决办法
2755
查看次数

Git在飞行中创建回购?

是否有可能允许用户推送新的Gt repos,而无需每次都手动将它们添加到gitosis.conf中?

git gitosis

5
推荐指数
1
解决办法
303
查看次数

sendto:不允许操作:netsnmp

我从net-snmp库中得到一个错误来做snmp得到的说法

Operation not permitted error from sendto.
Run Code Online (Sandbox Code Playgroud)

我想知道什么可能使sendto(2)系统调用失败并出现此错误.

请注意,这是间歇性错误,所以我不认为它是由防火墙问题引起的,除非防火墙可能会间歇性地导致这种情况.

c linux snmp net-snmp

5
推荐指数
1
解决办法
6973
查看次数

无法在CentOs上的系统引导时配置瘦启动

我无法配置瘦启动系统启动,我是Linux新手

我有CentOS 5.7

安装了薄的宝石,也安装了薄.

sudo gem install thin
sudo thin install
Run Code Online (Sandbox Code Playgroud)

当我尝试配置瘦启动系统启动时,我收到一个错误

sudo /sbin/chkconfig --level 345 thin on
error reading information on service thin: No such file or directory
Run Code Online (Sandbox Code Playgroud)

任何人都知道我为什么会收到这个错误?谢谢,

centos ruby-on-rails thin

5
推荐指数
1
解决办法
3839
查看次数

Java以外的哪些语言具有非特权代码与特权代码的安全模型?

我最近了解了Java的安全模型.大多数人认为Java是安全的,因为它不受缓冲区溢出等的影响,但是整个Java安全模型都集中在检查代码是否有权采取某些操作.他们真正解决了一个具有挑战性的问题:如何让任意不受信任的代码(例如在网络浏览器中)运行但是无法以恶意方式访问底层系统,同时保留以某种方式与系统交互的能力.

Sandboxed C++或类似的东西甚至很难尝试,因为语言要求你能够做指针算术等,允许恶意代码破坏过程的其他部分.但是,由于有许多内存安全的语言,我想知道其他语言有哪些复杂的安全模型以及它们与Java的比较.

我不知道有多少语言努力拥有像"沙盒"等概念.我正在寻找一些指导来了解这个有趣的计算机安全方向.

java security

5
推荐指数
1
解决办法
154
查看次数

编写PCI兼容组件需要什么?

我有一个WPF应用程序,我们已将信用卡处理集成到.我们目前正在将信用信息刷入/输入到WPF Web浏览器的网页中,以满足PCI合规性要求.显然这是可以的,因为Web浏览器组件符合PCI标准,我们的代码从不处理信用卡信息.

我非常讨厌这种设计,并且很乐意编写一个独立的,PCI兼容的WPF控件/程序集,我们可以插入而不是Web浏览器组件.如果我们的应用程序的代码可以使用浏览器而不经过PCI认证,那么它可以使用我们自己的PCI认证组件,而且它本身是PCI认证的吗?它所做的所有新控制/组装都是收集卡信息,并通过WCF服务安全地将其发送到远程安全服务器.它不会存储信用卡或在本地进行任何处理.我被告知这样做需要9个月的审核流程,这就是我们采用浏览器方法的原因.

有人可以让我大致了解这需要做些什么吗?

  • 它可以用C#/ WPF编写吗?
  • 代码是否必须实施特殊的安全措施(如CAS)?
  • 组件是否必须混淆?
  • 一旦写完,那你需要做什么?

c# security wpf credit-card pci-compliance

5
推荐指数
1
解决办法
1205
查看次数

优化器是否会根据编译时常量推导出数学表达式?

如果我有一些数学方程依赖于可以为零或非零的输入(模板参数,在编译时已知),优化器是否会评估方程并优化其知道将评估为0或1的表达式.

例如:

double x = y * Eval<type>::value;
Run Code Online (Sandbox Code Playgroud)

如果Eval<type>::value0,x将永远0.

double x = exp(y * Eval<type>::value);
Run Code Online (Sandbox Code Playgroud)

如果Eval<type>::value0,x将永远1.

优化器身影了这一点,可取代x01其他地方的代码,或将这些计算在运行时进行?

我正在使用gcc 4.7 -O3

c++ gcc compiler-optimization

5
推荐指数
1
解决办法
205
查看次数

Gnome之眼 - 使用shell脚本在不同的窗口上打开两个图像

这可能听起来像一个愚蠢的问题,我试图解决这个问题,但我无法弄清楚如何解决它.

我有两个图像命名imagem.bmpimagem2.bmp一个shell脚本,应该使用gnome的眼睛打开这两个图像.我在脚本中写了这个:

#!/usr/bash
eog imagem.bmp
eog imagem2.bmp
Run Code Online (Sandbox Code Playgroud)

问题是只打开了一个图像,即,eog打开第一个图像,然后第二个图像被加载到同一个屏幕中.我只需要在两个单独的屏幕上打开它,以便我可以比较图像.

c++ shell

5
推荐指数
1
解决办法
1952
查看次数

数学用于慢速图像缩放

我有一个带漫画书布局的.bmp图片.目前我的代码是这样的.如果我右键单击并按住鼠标按钮,我可以在漫画书页面上的其中一个框架周围绘制一个选框类型框.当我释放按钮时,它将放大到该帧.但它的瞬间.我希望它有动画效果.

因此,而不是将PicRect的值设置为"结束值"

PicRect.Left
PicRect.right
PicRect.top
PicRect.bottom
Run Code Online (Sandbox Code Playgroud)

如下面的代码所示,我需要一种慢慢到达那里的方法,某种类型的while循环一次设置一些这些值,直到它达到"最终值"但是我不是100%肯定这个数学如何工作中.也没有任何我的while循环尝试做任何事情,但放大太远.这是程序.

procedure TZImage.MouseUp(Button: TMouseButton; Shift: TShiftState;
                      X, Y: Integer);
    var coef:Double;
    t:integer;
begin
   if FMouse=mNone then Exit;
   if x>ShowRect.Right then x:=ShowRect.Right;
   if y>ShowRect.Bottom then y:=ShowRect.Bottom;
   if FMouse=mZoom then begin  //calculate new PicRect
     t:=startx;
     startx:=Min(startx,x);
     x:=Max(t,x);
     t:=starty;
     starty:=Min(starty,y);
     y:=Max(t,y);
     FMouse:=mNone;
     MouseCapture:=False;
//enable the following if you want to zoom-out by dragging in the opposite direction}
    {     if Startx>x then begin
            DblClick;
            Exit;
         end;}
         if Abs(x-startx)<5 then Exit;
         if (x - startx < y - starty) …
Run Code Online (Sandbox Code Playgroud)

delphi delphi-xe

5
推荐指数
2
解决办法
760
查看次数

防火墙会阻止进程之间的本地 TCP 通信吗?

我将一个应用程序拆分为托盘应用程序和 Windows 服务,并且我想使用 TCP 在两者之间进行通信*。它们都将在同一台机器上运行。

我的问题是防火墙是否会阻止同一台计算机上运行的应用程序之间的 TCP 通信?我想知道测试时是否需要担心防火墙。

(*请注意,我想使用 TCP 而不是命名管道进行通信,因为这些应用程序有一天可能会在不同的计算机上运行,​​但这将是遥远的未来)

windows firewall tcp

5
推荐指数
1
解决办法
6206
查看次数