小编Mic*_*cha的帖子

替换XamlPackage中的文本

我在RichTextBox中有一些文本.此文本包含标签,例如:[@TagName!].我想用数据库中的一些数据替换这些标签而不会丢失格式(字体,颜色,图像等).我创建了一个方法:

 void ReplaceTagsWithData(FlowDocument doc)
    {
        FileStream fs = new FileStream("tmp.xml", FileMode.Create);
        TextRange trTextRange = 
            new TextRange(doc.ContentStart, doc.ContentEnd);

        trTextRange.Save(fs, DataFormats.Xaml);
        fs.Dispose();
        fs.Close();

        StreamReader sr = new StreamReader("tmp.xml");

        string rtbContent = sr.ReadToEnd();

        MatchCollection mColl = 
            Regex.Matches(rtbContent, 
                          string.Format(@"\{0}+[a-zA-Z]+{1}", 
                          prefix, 
                          postfix));

        foreach (Match m in mColl)
        {
            string colname = 
                m.Value.Substring(prefix.Length, 
                   (int)(m.Value.Length - (prefix.Length + postfix.Length)));

            rtbContent = rtbContent.Replace(m.Value.ToString(), 
                                            dt.Rows[0][colname].ToString());
        }

        rtbEdit.Document = 
            new FlowDocument(
                (Section)XamlReader.Load(
                    XmlReader.Create(new StringReader(rtbContent))));
        sr.Dispose();
        sr.Close();
    }
Run Code Online (Sandbox Code Playgroud)

它非常好,但它从内容中删除图像.我知道我应该使用XamlPackage而不是Xaml但是我不能把它作为纯文本.还有其他解决方案吗?

谢谢你的回答.;)

[编辑:2012年2月13日02:14(上午)]

我的工作方案:

    void ReplaceTagsWithData(RichTextBox rtb)
{
    FlowDocument doc = rtb.Document;

    FileStream …
Run Code Online (Sandbox Code Playgroud)

c# string wpf flowdocument

41
推荐指数
1
解决办法
2067
查看次数

索引图像上的图形

我收到错误:

"无法从具有索引像素格式的图像创建图形对象."

在功能:

public static void AdjustImage(ImageAttributes imageAttributes, Image image)
{
        Rectangle rect = new Rectangle(0, 0, image.Width, image.Height);

        Graphics g = Graphics.FromImage(image);       
        g.InterpolationMode = InterpolationMode.HighQualityBicubic;
        g.DrawImage(image, rect, 0, 0, image.Width, image.Height, GraphicsUnit.Pixel, imageAttributes);
        g.Dispose();
}
Run Code Online (Sandbox Code Playgroud)

我想问你,我该如何解决?

c# graphics image indexed-image

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

"文件夹"已被"文件夹"锁定

我有这个非常烦人的问题,我试图将我们的主干合并到我的分支中进行一些更新.我一直这样做,但几乎每一天我都会收到以下错误:

Error - 'D:\Code\Website' is already locked via 'D:\Code\Website'.
Run Code Online (Sandbox Code Playgroud)

只是非常随机地发生此错误,我能够成功地将trunk合并回分支.然而,整天我一直试图从行李箱中获取最新信息但没有成功.我对这个问题的答案看起来很高和很低..所以,谷歌,互联网上的随机论坛......等等我希望有人可以解释为什么会发生这种情况.

这是我已经尝试过的:

  • 在目录中的每个文件夹上运行"清理".
  • 检查.svn目录中的"lock"文件 - 不存在.
  • 打开wc.db文件并检查WC_LOCK表 - 没有任何内容.
  • 禁用反病毒.
  • 已禁用IIS.
  • 检查了分支的新副本.
  • 更新了TortoiseSVN
  • 使用TortoiseSVN.net的最新MSI(1.7.10.23359,SVN 1.7.7)完成卸载并重新安装TortoiseSVN.

我能够更新分支并提交它..从来没有一个问题.它只是合并后备箱,这导致我的问题.团队中没有其他人似乎有这个问题(有这个分支,或任何其他分支).他们可以自由地检查分支..合并主干并提交它没有问题.

我正在使用TortoiseSVN.你们/ gals的任何帮助都会很棒!

编辑:此外,测试合并工作..但实际合并没有.

UPDATE

事实证明,TSVNCache.exe CONSTANTLY持有wc.db文件上的锁.我不知道为什么.即使我杀了这个过程; 一旦我通过TSVN Merge GUI,它就会再次激活缓存并锁定它.我已成功通过命令行合并..有没有办法解决缓存锁定问题,以避免不得不依赖命令行?

svn version-control tortoisesvn merge

22
推荐指数
1
解决办法
8377
查看次数

许多具有相同几何和材质的网格,我可以改变它们的颜色吗?

我有大量(〜1000)THREE.Mesh已经从同一构造的对象THREE.GeometryTHREE.MeshPhongMaterial(其具有地图).

我想单独着色(着色)这些对象.

天真地,我尝试更改mesh.material.color属性,但是在任何对象上更改此属性会立即更改所有对象的颜色.这是有道理的,因为在所有对象之间只共享一种材料.

我的下一个想法是THREE.MeshPhongMaterial为每个对象创建一个单独的.所以,现在我有大量的THREE.Mesh对象是由相同的构造THREE.Geometry,但有个体THREE.MeshPhongMaterials(共享相同的纹理).这允许我单独更改颜色,但性能更差.Chrome配置文件显示应用程序花费大量时间进行物理操作,例如切换纹理.

材质颜色在着色器中只是一个统一的颜色.所以,更新那件制服应该很快.

问题:有没有办法从网格级别覆盖材质颜色?

如果有,我相信我可以在我的所有物品中分享材料并恢复我的表现,同时仍然单独改变颜色.

[我在v49和v54上测试过,它们具有相同的性能和降级]

更新:我已经构建了一个测试用例,由此产生的性能下降比我想象的要小,但仍然是可测量的.

这是两个链接:

在第一种情况下,只有两种材料,在第二种情况下,每个立方体都有自己的材料.我在这台机器上测量第一种情况的帧率为53fps,第二种情况的帧率为46fps.这大约下降了15%.

在这两种情况下,每个立方体的材料颜色都会发生变化.在有许多材料的情况下,我们实际上看到每个立方体都有它自己的颜色,在只有两种材料的情况下,我们看到它们都具有相同的颜色(如预期的那样).

performance share colors material three.js

18
推荐指数
2
解决办法
3819
查看次数

自从使用.Net 4.0以来,Visual Studio的发布模式中出现InvalidOperationException

将现有的.NET 3.5应用程序移植到.NET 4.0有些麻烦.该守则不是我自己编写的,所以我不知道为什么事情就像它们一样.

这是情况:如果从Visual Studio启动应用程序(版本或调试模式无关紧要),并且如果应用程序从Debug-folder启动,则代码工作正常问题是Release-deploy,因为它不是'自4.0(以及4.5)以来运作良好: - /

这是最初的电话:

someObject.Text = Elements.GetElement(Int16.Parse(cb1.Text));
Run Code Online (Sandbox Code Playgroud)

这是代码:

public class Elements : EnumBase<int, Elements>
{
    public static readonly Elements Element1 = Create("Number 0", 0);
    public static readonly Elements Element2 = Create("Number 1", 1);

    private static Elements Create(string text, int value) 
    {
        return new Elements() { text = text, value = value };
    }

    public static String GetElement(int id)
    {

        // The Following Code safes the day and let the release deploy work fine.
        // It doesn´t …
Run Code Online (Sandbox Code Playgroud)

c# linq enums release .net-4.0

18
推荐指数
1
解决办法
1792
查看次数

配置Jenkins以使用SVN分支

我目前正在设置Jenkins与SVN存储库一起工作.目前它适用于行李箱.现在我想设置Jenkins来处理新创建的分支.我不想为SVN中的每个新分支手动创建新项目.

  • 是否已经有一个解决方案允许使用SVN并在Jenkins中为SVN中创建的每个brach自动创建作业/任务?
  • 你如何使用Jenkins与SVN标签/分支机构?

svn continuous-integration branch hudson jenkins

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

快速修复所有意图错误

截至目前,我在我的源代码中按alt + enter per intent fix.

有时我在文件中有很多相同的问题,我想知道是否可以对整个包或源文件进行快速修复.

截图

Intellij意图

谢谢

intellij-idea

17
推荐指数
1
解决办法
5252
查看次数

防止在本地分支中提交

在我的本地git树中,我从存储库中的"master"分支提取提交,但是所有开发都在不同的分支中完成,并且也在不同的分支中推送.

我想避免错误并防止在我的本地"master"分支中意外提交,并且只允许pull请求(然后我将开发分支重新设置为更新的master).这可能吗?怎么样?

git version-control dvcs

17
推荐指数
1
解决办法
3020
查看次数

不要进入gnuplot终端

使用gnuplot模块,在绘制图形后,我将进入gnuplot控制台.有没有办法阻止这种情况发生?我从不使用它,并且exit在关闭每个图形之后必须键入是很烦人的,特别是在我测试一系列图形时.

例如:

module Main where
import Graphics.Gnuplot.Simple
main = do
    let xs = linearScale 100 (-10, 10) :: [Float]
    plotFunc [] xs sin
    plotFunc [] xs cos
Run Code Online (Sandbox Code Playgroud)

我正在使用Windows 7 x64和Haskell Platform 2013.2.0.0,如果这有所不同的话.

haskell gnuplot

16
推荐指数
1
解决办法
1316
查看次数

如何在php和boost库IPC之间进行通信?

我在php中的客户端和服务器通过共享内存进行通信,现在我想使用Boost.Interprocess访问这个shred内存对象我该如何访问它?server.php:

  function create_image($str){
  // Create a blank image and add some text
  $im = imagecreatetruecolor(300, 20);
  $text_color = imagecolorallocate($im, 233, 14, 91);
  $stringBanner=exec("date").$str;
  imagestring($im, 1, 5, 5,  $stringBanner , $text_color);

  ob_start();
   imagejpeg($im);
  $i = ob_get_contents();
  ob_get_clean(); 
  imagedestroy($im);
   return $i; 
  }  
  echo "\n".__FILE__."\n";
  $shm_key = ftok(__FILE__, 't');
  echo $shm_key."\n";


  $shm_id = shmop_open($shm_key, "a", 0, 0); 
 if ($shm_id) {
  //it is already created
  shmop_delete($shm_id);
  shmop_close($shm_id); 
 } 
 //you need to create it with shmop_open using "c" only
 echo "try to create\n";
 if(!$shm_id = …
Run Code Online (Sandbox Code Playgroud)

php ipc shared-memory boost-interprocess

13
推荐指数
1
解决办法
1035
查看次数