小编Ein*_*son的帖子

在Safari 10中旋转时,SVG会改变颜色

我遇到了一个非常奇怪的问题,只出现在Safari 10中.我有扑克牌,svg图像,有时会轮换使用transform:rotate(xdeg).

我正在使用的卡片有红色块图案.当它没有旋转或以直角旋转时,即90,180,270,那么它看起来很正常.但是,除此之外的任何角度和背景图案都会变成蓝色!我刚收到一位用户的报告,从未见过如此奇怪的事情.其他浏览器都正常工作,Safari 9正常运行.

我猜这只是Safari 10中一个非常奇怪的错误,但有关如何解决它的任何想法?我创建了一个最小的repro:

https://jsfiddle.net/2zv4garu/1/

html css safari svg

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

为什么我不能在C#中捕获一般的异常?

我正在对代码进行一些单元测试,这可能会根据输入引发许多异常.所以我尝试了类似下面的代码:(简化示例)

    static void Main(string[] args)
    {
        RunTest<ArgumentException>();
    }

    static void RunTest<T>() where T : Exception, new()
    {
        try
        {
            throw new T();
            //throw new ArgumentException(); <-- Doesn't work either

        }
        catch (T tex)
        {
            Console.WriteLine("Caught passed in exception type");
        }
        catch (Exception ex)
        {
            Console.WriteLine("Caught general exception");
        }
        Console.Read();
    }
Run Code Online (Sandbox Code Playgroud)

但是这将始终打印出"抓住一般异常",catch(T tex)处理程序永远不会工作.无论我抛出T()还是显式抛出ArgumentException()都没关系.任何想法为什么会这样?实际上我有点惊讶我甚至能够在catch子句中使用T,但是因为那可能不应该这样做吗?或者至少给出一个编译器警告/错误,说明这个处理程序永远不会工作?

我的环境是Visual Studio 2008,3.5是目标框架.

更新:我现在直接从命令提示符尝试它,然后打印出"Caught传递异常类型".因此看起来这仅限于在Visual Studio中运行.也许Visual Studio托管过程的特殊性?

.net c# generics exception-handling

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

div中带有滚动条的div,位置为:fixed

我有一个div位置:固定这是我的容器div为一些菜单.我把它设置为顶部:0px,底部:0px以始终填充视口.在div里面我想要另外两个div,其中较低的一行包含很多行并且有溢出:auto.我希望它将包含在容器div中,但如果有太多行,它只是扩展到固定div之外.下面是我的代码和截图,以澄清:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>MyPlan</title>
    <meta name="X-UA-COMPATIBLE" value="IE=8" />
    <style type="text/css">
        #outerfixed { position:fixed;  width:200px;  background-color:blue; padding:5px; top:0px; bottom:30px;}
        #innerstatic1 { width:100%; background-color:yellow; height:100px;}
        #innerstatic2 { overflow:auto; background-color:red; width:100%;}
    </style>
</head>
<body>
    <div id="outerfixed">
        <h3>OUTERFIXED</h3>
        <div id="innerstatic1">
            <h3>INNERSTATIC1</h3>
        </div>
        <div id="innerstatic2">
            <h3>INNERSTATIC2</h3>
            line<br />
                        ...lots of lines
            line<br />
        </div>
    </div>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

替代文字

我有什么方法可以做到这一点吗?同样,我想#innerstatic2进行适当包含#outerfixed内,并得到滚动条,如果它变得比它里面#outerfixed空间较大.

我知道有一些possibilites也通过固定#innerstatic2破解解决这个问题,但我真的很喜欢它是流中可能的话里面#outerfixed,所以如果我搬到什么地方#outerfixed,内部元件会随之而来.

编辑:我知道我可以设置溢出:在#outerfixed汽车,并获得整个事情的滚动条,但我特别希望只是#innerstatic2一个滚动条,这是一个网格,我想滚动只是电网.

任何人?可能?

css css-position

40
推荐指数
4
解决办法
8万
查看次数

与Mongos连接时system.profile集合中缺少用户字段

我们有一个MongoDB集群,客户端通过Mongos实例连接到它.群集中的各个mongo都在运行--auth,并且Mongo --keyfile在与它们通信时使用.我们正在分析慢速查询,但没有获取通过Mongo的查询的用户名.

为了更清楚:

  1. 如果我直接连接到其中一个Mongo,进行身份验证并运行查询,那么我可以在system.profile之后查看该集合,并且该user字段将填充我的用户名.

  2. 如果我通过mongos连接,验证并运行查询,则system.profile集合包含有关查询的分析信息,但用户字段为空.

身份验证是必需的,我无法在没有首先进行身份验证的情况下通过Mongo运行查询,但用户名似乎似乎没有包含在性能分析信息中,我们真的希望能够看到它.

有任何想法吗?我可以对配置进行任何更改吗?

authentication profiling mongodb

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

在Python中调整图像大小而不会丢失EXIF数据

我需要使用Python调整jpg图像的大小,而不会丢失原始图像的EXIF数据(关于日期的元数据,相机模型等).关于python和图像的所有谷歌搜索指向我正在使用的PIL库,但似乎无法保留元数据.我到目前为止的代码(使用PIL)是这样的:

img = Image.open('foo.jpg')
width,height = 800,600
if img.size[0] < img.size[1]:
    width,height = height,width

resized_img = img.resize((width, height), Image.ANTIALIAS) # best down-sizing filter
resized_img.save('foo-resized.jpg')
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?或者我可以使用的其他图书馆?

python exif image-processing python-imaging-library

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

C#中的模块初始值设定项

模块初始值设定项是CLR的一项功能,无法在C#或VB.NET中直接使用.它们是名为的全局静态方法.cctor,保证在执行程序集中的任何其他代码(类型初始化程序,静态构造函数)之前运行.我最近想在一个项目中使用它并使用Mono.Cecil 将我自己的解决方案(控制台程序/ msbuild任务)一起攻击,但我想知道:

  1. 有没有办法欺骗C#编译器发射模块初始化器?任何属性(例如CompilerGenerated,SpecialName)或其他可以使用的技巧?

  2. C#/ VB.NET是否会出于某种目的自己发出这些初始化器?从我所看到的它们被托管C++用于某些互操作目的,但我找不到任何引用它们用于其他目的.有任何想法吗?

c# clr clr-module-initializer

23
推荐指数
3
解决办法
8654
查看次数

获取活动窗口文本(并向其发送更多文本)

我在C#中创建一个小实用程序,当按下全局热键时,它会向活动文本框添加一些文本,这是一种自动完成功能.我有我的全局热键工作,但现在我不知道如何在活动文本框中获取当前文本(如果活动窗口是一个文本框).到目前为止我尝试过的是使用

一个.GetForegroundWindow然后使用该句柄调用GetWindowText.这给了我活动窗口的窗口标题,而不是文本框内容.

湾 GetActiveWindow并使用该句柄调用GetWindowText.这根本不给我任何文字.

这是我所做的一个例子

[DllImport("user32.dll")]
private static extern bool UnregisterHotKey(IntPtr hWnd, int id);
[ DllImport("user32.dll") ]
static extern int GetForegroundWindow();
[ DllImport("user32.dll") ]
static extern int GetWindowText(int hWnd, StringBuilder text, int count);   
[DllImport("user32.dll")]
static extern int GetActiveWindow();

public static void TestA() {
    int h = GetForegroundWindow();
    StringBuilder b = new StringBuilder();
    GetWindowText(h, b, 256);
    MessageBox.Show(b.ToString());
}

public static void TestB() {
    int h = GetActiveWindow();
    StringBuilder b = new StringBuilder();
    GetWindowText(h, b, 256);
    MessageBox.Show(b.ToString());
}
Run Code Online (Sandbox Code Playgroud)

那么,关于如何实现这一点的任何想法?

编辑28.01.2009: 所以,我发现了如何做到这一点.这是我用过的:

using …
Run Code Online (Sandbox Code Playgroud)

c# pinvoke winapi

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

从窗口类名称获取窗口句柄

我正在尝试在我的进程中获取子窗口上的窗口句柄,我唯一的信息是窗口类名称.我可以使用任何win32函数吗?我是用C#做的.

更详细一点:这是一个用C#编写的Visual Studio插件.所以我的过程是visual studio,它有很多窗口.其中一个有一个窗口类"VsTipWindow".我不知道那个窗口的直接父窗口,我只有类名.有没有办法让我从那个窗口处理?

c# winapi window-handles findwindow

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

将一个表中的单行连接到另一个表中的n个随机行

是否可以在SQL服务器中进行连接,将表A中的每一行连接到另一行中的n个随机行?例如,假设我有一个Customer表,一个Product表和一个Order表.我想将每个客户加入5个随机产品,并将这些行插入订单表.(并且每个客户应该加入他自己的5个随机行,我不希望所有客户加入相同的5行).

这可能吗?我正在使用SQL Server 2005,如果解决方案特定于此,那就没关系.

这是一个奇怪的要求,但我基本上是在制作一个小型数据生成器来生成一些随机数据.

sql sql-server random join

7
推荐指数
1
解决办法
2336
查看次数

检测卡片游戏中计算机播放器中的循环

前段时间我创建了一个小卡片游戏网页应用程序,以获得乐趣.播放器与电脑对战,大多数情况下都能正常工作.有时虽然电脑玩家进入了一个循环,但游戏的目的是失去你所有的牌,如果你没有一张牌可以玩,你就可以获得一堆牌.有时候电脑会播放x,y,z,拍桩,玩x,yz,拍桩等.

我跟踪我所做的动作,所以在任何时候我都有一个看起来像这样的数组:[C2,D5,H2,S4,C5,H2,S4,C5,H2,S4,C5 ]

在这种情况下,我可以看到我已经进入了玩H2,S4,C5的循环,然后进行了堆积然后重复.

那么,广义问题是,检测列表中重复模式的最佳方法是什么?我可能用一个简单的for循环来鞭打一些东西,试图找到我要玩的卡片,如果我在x位置找到那个,那么我可以检查x到n的模式是否在位置x-(nx)重复到x,但这似乎是一种可以有一个很好的算法的问题.鉴于以下函数签名,您将如何编写代码:

function findLoops(previousMoves, nextMove, maxPatternLength) {
    //Return [loopLength, loopCount] or null if there are no loops
}
Run Code Online (Sandbox Code Playgroud)

ps这不是家庭作业,游戏存在,如果有人有兴趣,请访问http://www.idiot-cardgame.com :)

javascript algorithm

7
推荐指数
1
解决办法
184
查看次数