小编Pat*_*lug的帖子

带alpha通道的颜色的十六进制表示?

是否有关于如何以十六进制格式表示颜色(包括alpha通道)的W3或任何其他值得注意的标准?

是#RGBA还是#ARGB?

standards w3c colors

107
推荐指数
4
解决办法
9万
查看次数

这个JavaScript模式叫什么,为什么用?

我正在研究THREE.js并注意到一个模式,其中函数的定义如下:

var foo = ( function () {
    var bar = new Bar();

    return function ( ) {
        //actual logic using bar from above.
        //return result;
    };
}());
Run Code Online (Sandbox Code Playgroud)

(示例请参见此处的 raycast方法).

这种方法的正常变化如下所示:

var foo = function () {
    var bar = new Bar();

    //actual logic.
    //return result;
};
Run Code Online (Sandbox Code Playgroud)

将第一个版本与正常变体进行比较,第一个版本似乎有不同之处:

  1. 它分配自执行功能的结果.
  2. 它在此函数中定义了一个局部变量.
  3. 它返回包含使用局部变量的逻辑的实际函数.

因此,主要区别在于,在第一个变体中,条形图在初始化时仅分配一次,而第二个变体在每次调用时都创建此临时变量.

我最好猜测为什么使用它是为了限制bar的实例数(只有一个),从而节省了内存管理开销.

我的问题:

  1. 这个假设是否正确?
  2. 这个模式有名字吗?
  3. 这是为什么用的?

javascript closures iife

100
推荐指数
5
解决办法
6946
查看次数

如果类型只被称为System.Type,如何获取类型的默认值?

如果我想要一个返回给定类型的默认值的方法,并且该方法是通用的,我可以返回一个默认值,如下所示:

public static T GetDefaultValue()
{
  return default(T);
}
Run Code Online (Sandbox Code Playgroud)

如果我只将类型作为System.Type对象,我可以做类似的事情吗?

public static object GetDefaultValue(Type type)
{
  //???
}
Run Code Online (Sandbox Code Playgroud)

c# generics default

40
推荐指数
2
解决办法
1万
查看次数

如何为我的Windows应用程序创建高质量的图标?

如果您运行的是具有更高DPI设置的Windows,您会注意到桌面上的大多数应用程序图标看起来都很糟糕.甚至一些高调的应用程序图标(如Google Chrome)看起来也很糟糕,而Firefox,Skype和MS Office图标看起来很清晰:

friggin模糊的旁边的超清脆图标

(例)

我怀疑大多数图标看起来都很模糊,因为较低分辨率的图标会按比例放大而不是使用更高分辨率的图标.

我想给我的应用程序一个高质量的图标,似乎无法说服Windows使用更高分辨率的图标.我用图标编辑器IcoFX创建了一个多分辨率图标.该图标以16x16,24x24,32x32,48x48,128x128和256x256(!)提供(全部为32位,包括alpha通道),但Windows似乎使用桌面上48x48版本的图标并将其放大,看起来很糟糕.(我使用的是Windows 7 - 64位 - 通过在msi中设置快捷方式(通过Visual Studio 2008安装项目创建)并将其指向包含多分辨率图标的.ico文件来放置图标)

我试过删除128x128图标,但无济于事.有趣的是,在Windows资源管理器中,即使使用"超大图标"设置,图标看起来也很棒.如何创建高质量的桌面图标,在Windows上更高的DPI设置上看起来很棒?

编辑:我测试删除128x128选项,然后是48x48和128x128选项,并尝试Axialis IconWorkshop创建图标 - 没有任何工作.

编辑:经过多次试验和错误我认为这里的真正问题是Visual Studio 2008安装项目 - 手动设置我的可执行文件的链接正确使用高分辨率图标,但是安装程序创建的链接不使用正确的图标.在编辑器中设置链接的图标时,它只给我一个选项(索引0),它似乎是48x48图标.我试过手动调整.vdproj中的IconIndex,但没有运气.

windows icons windows-installer highdpi

36
推荐指数
1
解决办法
3万
查看次数

Wpf动画最佳实践

我正在寻找有关WPF动画的最佳实践或指南.特别是有关性能考虑的信息

wpf performance animation

27
推荐指数
1
解决办法
9081
查看次数

如何检测角色是否属于从右到左的语言?

什么是判断字符串是否包含"从右到左"语言的文本的好方法.

我发现这个问题表明了以下方法:

public bool IsArabic(string strCompare)
{
  char[] chars = strCompare.ToCharArray();
  foreach (char ch in chars)
    if (ch >= '\u0627' && ch <= '\u0649') return true;
  return false;
}
Run Code Online (Sandbox Code Playgroud)

虽然这可能适用于阿拉伯语,但这似乎不包括其他RTL语言,如希伯来语.有没有通用的方法来知道某个特定字符属于RTL语言?

c# localization bidi right-to-left

27
推荐指数
3
解决办法
1万
查看次数

RenderTargetBitmap和DPI

我不明白为什么DPI参数的RenderTargetBitmap使用方式与它们的使用方式相同.通常我会通过调整基于DPI的图像大小来查看处理非标准DPI设置的代码,如下所示:

new RenderTargetBitmap ((int) (width/96d)*dpi, (int) (height/96d)*dpi, dpi, dpi, PixelFormats.Pbgra32);
Run Code Online (Sandbox Code Playgroud)

例子:

http://blogs.msdn.com/b/jaimer/archive/2009/07/03/rendertargetbitmap-tips.aspx

ContentControl + RenderTargetBitmap +空图像

http://social.msdn.microsoft.com/forums/en-US/wpf/thread/984da366-33d3-4fd3-b4bd-4782971785f8/

其他时候,dpi似乎被硬编码为96或不同的值,如下所示:

new RenderTargetBitmap (width, height, 96, 96, PixelFormats.Pbgra32);
Run Code Online (Sandbox Code Playgroud)

例子:

http://www.i-programmer.info/programming/wpf-workings/538-rendertargetbitmap-visual-vector-to-bitmap.html

http://www.ericsink.com/wpf3d/3_Bitmap.html

http://dedjo.blogspot.com/2008/05/performance-appliance-of.html

如何将已检查的CheckBox(Aero主题)渲染为RenderTargetBitmap?

要么

new RenderTargetBitmap (width, height, 120, 96, PixelFormats.Pbgra32);
Run Code Online (Sandbox Code Playgroud)

例子:

http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.rendertargetbitmap.aspx

你什么时候做一个又一个?

如果您以后想要显示与应用程序内部控件大小相同的图像,我是否应该总是调整位图的大小(如第一个示例中所示)?

并且你可能应该在96保存到文件时使用固定dpi,或者如果你使用不同的dpi而不调整宽度和高度?

假设我想将控件的图像保存到具有固定大小的文件.我还能设置dpi还是只使用默认的96?

c# wpf rendertargetbitmap

24
推荐指数
1
解决办法
9584
查看次数

生成排列时System.OutOfMemoryException

System.OutOfMemoryException在尝试生成6个字母的排列时得到了.5个字母的排列仍然有效.

这是我用来生成所有排列的代码:

private static List<string> getPermutations(int n,string source)
        {
            IEnumerable<string> q = source.Select(x => x.ToString());
            for (int i = 0; i < n - 1; i++)
            {
                q = q.SelectMany(x => source, (x, y) => x + y);
            }
            return q.ToList(); // THIS IS WHERE THE ERROR HAPPENS
        }
Run Code Online (Sandbox Code Playgroud)

之后我使用这段代码根据正则表达式过滤它们:

private static List<string> filterListByRegex(List<string> list, string regex)
        {
            List<string> newList = list.ToList();
            for (int i = newList.Count - 1; i >= 0; i--)
            {
                Match match = Regex.Match(""+newList[i], …
Run Code Online (Sandbox Code Playgroud)

c# regex algorithm out-of-memory

22
推荐指数
2
解决办法
1076
查看次数

使用IE10中的工作:活动css规则使整个div可单击

我正在为一个包含多个文本元素和图像的html应用程序设计一个可点击的面板.

根据我的理解,这通常用div来完成.像这样的东西:

<div class="myButton">
    <h2>Text</h2>
    <h3>Some more text</h3>
    <img ...>
</div>
Run Code Online (Sandbox Code Playgroud)

通过一些样式和挂钩点击事件,这工作正常,但我有样式活动状态的问题:

.myButton {
    cursor:pointer;
}
    .myButton:active{
        -ms-transition-duration: 0.2s;
        -ms-transform: scale(0.95);
    }
Run Code Online (Sandbox Code Playgroud)

在这个例子中,我正在尝试做一个css动画(仅限IE),但这可能真的是什么.问题是活动状态仅在我单击div时有效,但在单击div的任何子项时不起作用.

这是一个JS小提琴来展示场景:

http://jsfiddle.net/S9JrH/13/

更新:感谢David Thomas指出代码中的拼写错误并确认这在Chrome中有效.

不幸的是,在IE10中,只有当您单击div的下半部分时,才能使用此文本.

有谁知道如何在IE10中正常工作?

html css internet-explorer-10

17
推荐指数
2
解决办法
4万
查看次数

Process.StartInfo.Arguments是否支持UTF-8字符串?

你可以使用UTF-8字符串作为StartInfo的参数吗?

我试图将UTF-8(在本例中为日语字符串)作为控制台参数传递给应用程序.

这样的事情(这只是一个例子!(cmd.exe将是一个自定义应用程序))

var process = new System.Diagnostics.Process();
process.StartInfo.Arguments = "/K \"echo ????????\"";
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.UseShellExecute = true;

process.Start();
process.WaitForExit();
Run Code Online (Sandbox Code Playgroud)

执行此操作似乎松开了UTF-8字符串,所有目标应用程序看到的都是"echo ?????????"

直接在命令行上执行此命令(通过粘贴参数),目标应用程序正确接收字符串,即使命令行本身似乎没有正确显示它.

我是否需要做一些特殊的事情才能在参数中启用UTF-8支持,或者这是不支持的?

c# utf-8

12
推荐指数
2
解决办法
7221
查看次数