我在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) 我收到错误:
"无法从具有索引像素格式的图像创建图形对象."
在功能:
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)
我想问你,我该如何解决?
我有这个非常烦人的问题,我试图将我们的主干合并到我的分支中进行一些更新.我一直这样做,但几乎每一天我都会收到以下错误:
Error - 'D:\Code\Website' is already locked via 'D:\Code\Website'.
Run Code Online (Sandbox Code Playgroud)
只是非常随机地发生此错误,我能够成功地将trunk合并回分支.然而,整天我一直试图从行李箱中获取最新信息但没有成功.我对这个问题的答案看起来很高和很低..所以,谷歌,互联网上的随机论坛......等等我希望有人可以解释为什么会发生这种情况.
这是我已经尝试过的:
我能够更新分支并提交它..从来没有一个问题.它只是合并后备箱,这导致我的问题.团队中没有其他人似乎有这个问题(有这个分支,或任何其他分支).他们可以自由地检查分支..合并主干并提交它没有问题.
我正在使用TortoiseSVN.你们/ gals的任何帮助都会很棒!
编辑:此外,测试合并工作..但实际合并没有.
UPDATE
事实证明,TSVNCache.exe CONSTANTLY持有wc.db文件上的锁.我不知道为什么.即使我杀了这个过程; 一旦我通过TSVN Merge GUI,它就会再次激活缓存并锁定它.我已成功通过命令行合并..有没有办法解决缓存锁定问题,以避免不得不依赖命令行?
我有大量(〜1000)THREE.Mesh已经从同一构造的对象THREE.Geometry和THREE.MeshPhongMaterial(其具有地图).
我想单独着色(着色)这些对象.
天真地,我尝试更改mesh.material.color属性,但是在任何对象上更改此属性会立即更改所有对象的颜色.这是有道理的,因为在所有对象之间只共享一种材料.
我的下一个想法是THREE.MeshPhongMaterial为每个对象创建一个单独的.所以,现在我有大量的THREE.Mesh对象是由相同的构造THREE.Geometry,但有个体THREE.MeshPhongMaterials(共享相同的纹理).这允许我单独更改颜色,但性能更差.Chrome配置文件显示应用程序花费大量时间进行物理操作,例如切换纹理.
材质颜色在着色器中只是一个统一的颜色.所以,更新那件制服应该很快.
问题:有没有办法从网格级别覆盖材质颜色?
如果有,我相信我可以在我的所有物品中分享材料并恢复我的表现,同时仍然单独改变颜色.
[我在v49和v54上测试过,它们具有相同的性能和降级]
更新:我已经构建了一个测试用例,由此产生的性能下降比我想象的要小,但仍然是可测量的.
这是两个链接:
在第一种情况下,只有两种材料,在第二种情况下,每个立方体都有自己的材料.我在这台机器上测量第一种情况的帧率为53fps,第二种情况的帧率为46fps.这大约下降了15%.
在这两种情况下,每个立方体的材料颜色都会发生变化.在有许多材料的情况下,我们实际上看到每个立方体都有它自己的颜色,在只有两种材料的情况下,我们看到它们都具有相同的颜色(如预期的那样).
将现有的.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) 我目前正在设置Jenkins与SVN存储库一起工作.目前它适用于行李箱.现在我想设置Jenkins来处理新创建的分支.我不想为SVN中的每个新分支手动创建新项目.
截至目前,我在我的源代码中按alt + enter per intent fix.
有时我在文件中有很多相同的问题,我想知道是否可以对整个包或源文件进行快速修复.
截图

谢谢
在我的本地git树中,我从存储库中的"master"分支提取提交,但是所有开发都在不同的分支中完成,并且也在不同的分支中推送.
我想避免错误并防止在我的本地"master"分支中意外提交,并且只允许pull请求(然后我将开发分支重新设置为更新的master).这可能吗?怎么样?
使用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,如果这有所不同的话.
我在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)