问题列表 - 第33743页

C#:将多个图像保存到单个文件中

我正在研究一个维护图像字典的类.此字典应保存到文件并从文件加载.

我实现了以下解决方案,但问题是根据MSDN文档中的Image.FromStream();
http://msdn.microsoft.com/en-us/library/93z9ee4x(v=VS.80).aspx

"如果使用相同的流连续调用此方法,则流将重置为零."

任何想法如何解决这一问题?加载字典的速度至关重要.

class ImageDictionary
{
    private Dictionary<string, Image> dict = new Dictionary<string, Image>();

    public void AddImage(string resourceName, string filename)
    {
       //...
    }

    public Image GetImage(string resourceName) 
    {
       //...
    }


    public void Save(string filename)
    {
        var stream = new FileStream(filename, FileMode.Create);
        var writer = new BinaryWriter(stream);
        writer.Write((Int32) dict.Count);
        foreach (string key in dict.Keys)
        {
            writer.Write(key);

            Image img;
            dict.TryGetValue(key, out img);
            img.Save(stream,System.Drawing.Imaging.ImageFormat.Png);
        }
        writer.Close();
        stream.Close();
    }

    public void Load(string filename)
    {
        var stream = new FileStream(filename, FileMode.Open);
        var reader …
Run Code Online (Sandbox Code Playgroud)

c# image stream

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

Google App Engine上的联合身份

我成功使用以下两种方法,使用Google App Engine(Python)上的我的站点使用联合登录登录

users.create_login_url("\", "google", "https://www.google.com/accounts/o8/id")
users.create_login_url("\", "yahoo", "http://open.login.yahooapis.com/openid20/www.yahoo.com/xrds")
Run Code Online (Sandbox Code Playgroud)

我希望为我的用户提供更多登录选项.任何人都可以帮助我获得Facebook,MySpace,Wordpress等的联合身份.

python openid google-app-engine federated-identity

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

QuickLook插件:当2个插件处理相同的文件类型时,它是如何工作的?

如果用户有2个或更多的quicklook插件处理相同的kMDItemContentType会发生什么?哪个插件优先做实际工作?可以通过编程方式设置吗?

macos cocoa objective-c quicklook

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

我该如何组织我的Xcode项目文件?

我试图围绕Xcode的文件组织 - 或者缺乏.我可以在项目中做我想做的所有事情,它看起来很棒,所有的"假"文件夹和结构.我去看文件系统和繁荣巨大的混乱.我已经尝试使用Create Folder Reference for any added folder选中的选项导入文件,并且有效.我在Xcode和文件系统中得到了我想要的结构.

问题:当我将文件添加到Xcode中作为文件夹引用的文件系统上的文件夹时,当我去看时它不在Xcode中,甚至在重新加载项目之后也没有.文件夹参考中的文件/子文件夹无法在Xcode中移动.当我在文件系统上移动它时,我在Xcode中得到红色链接(找不到文件?).

如何保持有组织的项目文件系统?如何设置项目以识别文件夹并在我的项目中显示其(当前和最新)文件和子文件夹?

我似乎遇到的另一个问题是,如果我使用文件夹参考并更改文件,除非我进行全面清理和重建,否则我的应用程序中的文件不会更新.如果我不使用文件夹引用,我的所有文件都会被转储到应用程序包的Res​​ource文件夹中,而不是我在项目中的漂亮结构中.

我应该关心吗?我应该只使用假文件夹,让一切都到处都不关心?我的应用程序包将是一团糟,文件系统将是一个烂摊子,但它将全部工作...我希望?

编辑:

我想要有组织的文件系统的最大原因是资源文件(图像,声音,其他数据文件等)不是在Xcode中编辑的.我必须通过文件系统在第三方应用程序中访问它们.如果它变得混乱,在其他第三方应用程序中更难找到和维护.

如果我想要一个如下所示的结构,会发生什么:

  • 图片/背景/ Name.png
  • 图片/图标/ Name.png
  • 图片/标题/ Name.png

我应该使用长文件名而不是文件夹来组织吗?

  • Images_Backgrounds_Name.png
  • Images_Icons_Name.png
  • Images_Titles_Name.png

filesystems xcode organization

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

MySQL InnoDB auto_increment值增加2而不是1.病毒?

有一个InnoDB表,用于存储自定义构建的Web应用程序使用的博客帖子的注释.

最近我注意到注释的自动递增主键值增加了2而不是1.

我还注意到在另一个MySQL表中用于记住最后几个评论者的足迹签名(例如ip,会话ID,uagent字符串等),PHP会话的名称以"viruskinq"开头,这很奇怪,因为我认为它应该始终是十六进制的类似md5的字符串.

Google只为"viruskinq"提供了几个结果,全都是土耳其语.这很有意思,因为大约一年前,有关网站被土耳其恶棍破坏了.(我100%确定攻击者没有成功,因为我的应用程序中存在任何安全漏洞,因为当时由同一家公司托管的其他网站也被污损了.)

该站点位于共享主机上,使用Linux.

您是否认为服务器本身可能仍然受到黑客的影响?检查评论的id值显示,自今年5月以来存在这种倍增现象,但这种破坏发生在差不多一年前.

还有什么其他原因可以解释自动增量值的奇怪行为?应用程序尚未更改,在较旧的注释中,自动递增的主键值按顺序排列.

编辑:解决方案摘要

托管公司告诉我,自动增量值增加一倍的原因是因为他们使用了Master-Slave MySQL架构师,据他们说这种现象是正常的.

他们还承认,各种黑客不断攻击他们的服务器,"特别是会议",他们无法对此做任何事情.

我想我最好开始打包我的东西并转向更好的虚拟主机.

mysql innodb virus auto-increment

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

Git提交公共子模块(master branch)

我有两个或更多的项目(我们称之为ProjectFooProjectBar),它们有一些我放在子模块中的公共代码.

我的理解是,如果我从ProjectFoo中提交子模块的更改,它将处于一个独立的头部,只有所有ProjectFoo克隆才能看到:

(master) $ cd ProjectFooBarCommoneSubmodule/
(master) $ git commit -am "Common code fix."
(56f21fb0...) $ git push
Everything up-to-date
Run Code Online (Sandbox Code Playgroud)

这可能是因为master分支没有改变.我可能会做类似的事情git checkout master && git merge Everything up-to-date但看起来很难看.可能git reset --hard master会做同样的事情,但似乎更加丑陋.

如何使用项目共享的公共代码,使用它的那些项目中更新?换句话说,提交到该子模块应该更新使用同一子模块的所有各种存储库(存储库,而不仅仅是克隆).

----编辑----

可见我的签出存储库搞砸了并且坏了.它应该从一开始就像那样(在本例中的ProjectFoo上):

(master) $ cd ProjectFooBarCommoneSubmodule/
(master) $ git commit -am "Common code fix."
(master) $ git push
....
   fbfdd71..0acce63  master -> master
(master) $ …
Run Code Online (Sandbox Code Playgroud)

git commit git-submodules

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

Ruby on Rails:默认will_paginate到结果的最后一页

有一种简单的方法,默认will_paginate到最后一页?我想向用户显示最新添加内容并允许浏览结果的前一页...

pagination ruby-on-rails will-paginate

5
推荐指数
0
解决办法
1746
查看次数

Oracle 日期数据类型的范围:“公元前 4712 年 1 月 1 日到公元 9999 年 12 月 31 日”,该范围背后有什么逻辑吗?

Oracle 日期数据类型的范围:“公元前 4712 年 1 月 1 日到公元 9999 年 12 月 31 日”,该范围背后有什么逻辑吗?我的意思是这个范围有任何历史意义,或者它与编程和内存大小等有关。我只是想知道,为什么只从公元前 4712 年 1 月 1 日到公元 9999 年 12 月 31 日。

sql oracle

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

如何更改Hibernate Tools反向工程DAO类的名称?

所以我试图使用Hibernate Tools来反向工程我的数据库,我只是开始使用Freemarker模板来弱化它生成的代码.问题是我想更改它生成的DAO类的名称.默认情况下,DAO类的形式PersonH​​ome中名为然而,名称更改为的PersonDAO我修改了DAO/daohome.ftl.

虽然这确实将生成的类名更改为PersonDAO,但java文件仍称为PersonH​​ome.java.

有没有我可以更改生成的文件名以匹配源代码的地方?

java hibernate freemarker reverse-engineering hibernate-tools

6
推荐指数
1
解决办法
5577
查看次数

检测到glibc - 双重免费或腐败

这可能有点长,所以我道歉.考虑以下代码(我从中留下了一些不相关的部分).此代码接收指向结构(BoardP theBoard),x&y coords和值的指针.目标是将值放在结构中找到的2D数组中.如果coords超出范围,我必须增加表的大小,将旧数据复制到新数据并将值放在其位置.以及此代码在第一次调用时工作,但在第二次调用中它会崩溃并写入:

*** glibc detected *** ./b: double free or corruption (top): 0x092ae138 ***  
Run Code Online (Sandbox Code Playgroud)

我找不到答案,希望你会帮忙.
这些是来自main()的调用

BoardP p = CreateNewBoard(10,10);
PutBoardSquare(p,10,5,'X');
PutBoardSquare(p,5,10,'O');

Boolean PutBoardSquare(BoardP theBoard, int X, int Y, char val) {

    if (inBounds(X,Y,theBoard->_rows,theBoard->_cols)) {
        theBoard->_board[X * theBoard->_cols + Y] = val;
        return TRUE;
    }
    else {
        int newRows = (X>=theBoard->_rows) ? (2*X) : theBoard->_rows;
        int newCols = (Y>=theBoard->_cols) ? (2*Y) : theBoard->_cols;
        BoardP newBoard = CreateNewBoard(newCols,newRows);  //this creates a new Board with the new dimensions
        if (newBoard == …
Run Code Online (Sandbox Code Playgroud)

c memory-management

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