如何TextBlock
在WPF应用程序中实现控件内文本的格式化?
例如:我想要粗体显示某些单词,斜体显示某些单词,有些颜色不同,例如:
我的问题背后的原因是这个实际问题:
lblcolorfrom.Content = "Colour From: " + colourChange.ElementAt(3).Value.ToUpper();
Run Code Online (Sandbox Code Playgroud)
我希望字符串的第二部分是粗体,我知道我可以使用两个控件(Labels,TextBlocks等),但我不愿意,因为已经使用了大量的控件.
对于我在大学的最后一个项目,我正在开发车辆牌照检测应用程序.我认为自己是一名中级程序员,但是我的数学知识缺乏中学以上的任何东西,这使得生产正确的公式比它应该更难.
我花了很多时间查阅学术论文,例如:
谈到数学,我迷路了.由于这种测试,各种图形图像被证明是有效的,例如:
至
然而,这种方法仅适用于该特定图像,如果将这些技术应用于不同的图像,我确信会发生较差的转换.我读过一个名为"底帽形态变换"的公式,它执行以下操作:
基本上,变换保留了图片的所有暗部细节,并消除了其他一切(包括更大的暗区和亮区).
我找不到很多关于此的信息,但是报告末尾附近的文档中的图像显示了它的有效性.
我需要建议我应该关注哪些转换技术,以及哪些算法可以帮助我.
编辑:关于续 - 车辆牌照检测的新信息
只是好奇是否有一个设置在Eclipse的某个地方,以便在打开类时保持代码块崩溃?只是我会崩溃方法然后当类重新打开时,一切都被扩展.
谢谢
经过大量关于车牌检测的工作后,我决定在图像中简单地找到黄色像素的"图案"将是在图像中找到牌照位置的充分方法.目前,我使用各种图形滤镜并检测白色像素图案,但这被证明是越来越成问题的.
现在提出这个问题,我知道'黄色'牌照是基于诸如亮度,环境等众多因素.
洞察这一点我需要一个范围来比较,例如:
if(FindIfYellow(GetPixel(x,y)))
但是我不知道是否使用RGB值,特别是单个RGB值来确定颜色是否为黄色阴影.最后是否有一个定义这些范围的网站或某种信息?我知道
R:255 G:255 B:0
是最纯净的黄色,但就范围而言,我不知道.无论如何,希望这是一个合理的想法,我发布的原因是为了确保我不会忽视某些东西,就像我经常做的那样:).
好吧,我正在使用这个OCR的编译.NET版本,可以在@ http://www.pixel-technology.com/freeware/tessnet2/找到
我有它工作,但是这个目的是翻译车牌,遗憾的是引擎真的不能准确翻译一些字母,例如这里是我扫描的图像来确定字符问题
结果:
12345B7B9U ABCDEFGHIJKLMNUPIJRSTUVHXYZ
因此,以下字符被错误地翻译:
1,O,Q,W
这似乎并不太糟糕,但是在我的车牌上,结果并不是那么好:
= H4 ODM
= LDH IFW
假试验
= NR4 y2k
正如你可能会说的那样,我已经尝试过降噪,提高对比度,并删除不是绝对黑色的像素,没有真正的改进.
显然你可以"学习"引擎新的字体,但我想我需要重新编译.NET的库,似乎这是在我没有的Linux操作系统上执行的.
http://www.scribd.com/doc/16747664/Tesseract-Trainingfor-Khmer-LanguageFor-Posting
所以我不知道接下来会尝试什么,我写了一个快速的控制台应用程序纯粹是为了测试目的,如果有人想尝试它.如果有人有任何想法/图形处理/图书馆的想法,我很感激听到他们.
继续这个主题:
我已经开发了我的图像处理技术,以尽可能地强调车牌,总体而言我很满意,这里有两个样本.
现在是最困难的部分,实际上是检测车牌.我知道有一些边缘检测方法,但我的数学很差,所以我无法将一些复杂的公式转换成代码.
到目前为止,我的想法是循环遍历图像中的每个像素(对于基于img宽度和高度的循环).从每个像素与颜色列表进行比较,从中检查算法以查看颜色是否保持区分许可证盘子白色,和黑色的文字.如果确实如此,则将这些像素内置到内存中的新位图中,然后在停止检测到该模式后执行OCR扫描.
我很欣赏这方面的一些意见,因为它可能是一个有缺陷的想法,太慢或太密集.
谢谢
好吧,我已经尝试了几种让它工作的方法,后台工作者,Dispatcher.Invoke,在被调用类中的线程,似乎没有任何工作.到目前为止,最好的解决方案是一个Extension方法,它调用控件的调用.此外,我已经尝试避免通过我的事件类传递标签的数据,只是在我的处理代码中调用,但这没有任何区别.
关于后台组件,我不断得到异常,说后台工作人员很忙,所以我多次实例化了这个类,但是一旦整个操作完成,标签才会明显改变.
我删除了以前的代码,这里是相关的一切,因为它似乎很难解决.
被调用的方法
private void TestUris()
{
string text = new TextRange(rtxturis.Document.ContentStart, rtxturis.Document.ContentEnd).Text;
string[] lines = Regex.Split(text.Remove(text.Length - 2), "\r\n");
foreach (string uri in lines)
{
SafeUpdateStatusText(uri);
bool result;
string modUri;
if (!uri.Contains("http://"))
{
modUri = uri;
result = StoreData.LinkUriExists(new Uri("http://" + modUri));
}
else
{
modUri = uri.Substring(7);
result = StoreData.LinkUriExists(new Uri(uri));
}
if (!result)
{
Yahoo yahoo = new Yahoo();
yahoo.Status.Sending += (StatusChange);
uint yahooResult = 0;
yahooResult = yahoo.ReturnLinkCount(modUri);
if (yahooResult > 1000 )
{ results.Add(new …
Run Code Online (Sandbox Code Playgroud) 我是PHP的新手,所以我不确定它是如何工作的.
无论如何,我会将多维数组返回到另一个方法,本质上是存储少量记录和列,类似于结构的表.
我写了以下内容,没有任何警告但也没有数据
public function GetData($sqlquery)
{
include 'config.php';
$result = mysql_query($sqlquery,$con);
$data = array();
while($row = mysql_fetch_assoc($result))
{
$data[] = $row;
}
return $data;
}
Run Code Online (Sandbox Code Playgroud)
最有可能做一些愚蠢的事情
帮助赞赏.
编辑:
感谢所有快速回复
我弄清楚为什么这不起作用,我正在解决这个问题
print $data[0][0];
Run Code Online (Sandbox Code Playgroud)
而不是
print $data[0]['title'];
Run Code Online (Sandbox Code Playgroud)
例如,谢谢所有:)
PS我真的觉得很难相信你不能说$ data [0] [5],IMO比为位置指定一个字符串值更合乎逻辑
我真的不想寻求帮助,因为我知道我最终会弄清楚,但我花了太多时间,如果文件有父标签或更好的结构,那将是一块蛋糕.可悲的是我正在下载文档,我无法弄清楚如何获取数据.
我尝试了一些使用XElement作为迭代器的linq查询和foreach.无论如何这里是结构的一个例子.
<ResultSet xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="urn:yahoo:srch" xsi:schemaLocation="urn:yahoo:srch http://api.search.yahoo.com/SiteExplorerService/V1/InlinkDataResponse.xsd" totalResultsAvailable="247930100" firstResultPosition="99" totalResultsReturned="100">
<Result>
<Title>Adobe - Adobe Reader</Title>
<Url>http://get.adobe.com/fr/reader/</Url>
<ClickUrl>http://get.adobe.com/fr/reader/</ClickUrl>
</Result>
<Result>
<Title>Religious Tolerance</Title>
<Url>http://www.religioustolerance.org/</Url>
<ClickUrl>http://www.religioustolerance.org/</ClickUrl>
</Result>
<Result>
<Title>Applications Internet riches (RIA) | Adobe Flash Player</Title>
<Url>http://www.adobe.com/fr/products/flashplayer/</Url>
<ClickUrl>http://www.adobe.com/fr/products/flashplayer/</ClickUrl>
</Result>
<Result>
<Title>photo management software | Adobe Photoshop Lightroom 3</Title>
<Url>http://www.adobe.com/products/photoshoplightroom/</Url>
<ClickUrl>http://www.adobe.com/products/photoshoplightroom/</ClickUrl>
</Result>
<Result>
<Title>Battle for Wesnoth</Title>
<Url>http://www.wesnoth.org/</Url>
<ClickUrl>http://www.wesnoth.org/</ClickUrl>
</Result>
</ResultSet>
Run Code Online (Sandbox Code Playgroud)
这是最新代码段的示例.
foreach (XElement ele in xDoc.Descendants("ResultSet").Elements("Result"))
{
CollectedUris.Add(ele.Element("Url").Value);
}
Run Code Online (Sandbox Code Playgroud) 首先道歉,如果我没有正确解释这一点,我已经在这几个小时,现在是早上.
我已经尝试了很多方法,得到了很多错误,我记不起原始版本了,我也无法解决问题,这是我的代码,这很糟糕,因为我应该使用连接查询我的SP在这台服务器上被窃听.
SqlConnection conn = new SqlConnection(connstring);
DataSet ds = new DataSet();
SqlDataAdapter ad;
SqlCommand cmd = new SqlCommand();
ad = new SqlDataAdapter("SELECT * FROM booking WHERE bookstartdate BETWEEN '" + ReturnDbDate(datefrom).ToString() + "' AND '" + ReturnDbDate(dateto).ToString() + "'", conn);
ad.Fill(ds, "CustomerIds");
ad = new SqlDataAdapter("SELECT customerid, firstname, lastname, telephone, email FROM customer", conn);
ad.Fill(ds, "Customers");
DataTable dt = new DataTable();
dt.Columns.Add("Customerid", typeof(String));
dt.Columns.Add("Firstname", typeof(String));
dt.Columns.Add("Lastname", typeof(String));
dt.Columns.Add("Telephone", typeof(String));
dt.Columns.Add("Email", typeof(String));
int lol = ds.Tables["CustomerIds"].Rows.Count;
foreach (DataRow row in …
Run Code Online (Sandbox Code Playgroud) 基本上我有以下查询,它适用于所有在线SPARQL测试人员没有问题,但使用Java和Jena 2.6.4时,我从来没有得到任何结果.为了演示目的,我已将值写入查询中.
PREFIX g: <http://www.w3.org/2003/01/geo/wgs84_pos#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX onto: <http://dbpedia.org/ontology/>
SELECT ?subject ?stadium ?lat ?long
WHERE
{ ?subject g:lat ?lat .
?subject g:long ?long .
?subject <http://www.w3.org/1999/02/22-rdf-syntax-ns#type> onto:Stadium .
?subject rdfs:label ?stadium
FILTER ( ( ( ( ( ?lat >= 52.4814 ) && ( ?lat <= 57.4814 ) ) && ( ?long >= -1.89358 ) ) && ( ?long <= 3.10642 ) ) && ( lang(?stadium) = "en" ) )
}
LIMIT 5
Run Code Online (Sandbox Code Playgroud)
有些Java,请注意我已经尝试过几种不同的方式访问它,但是我在整个项目中使用SPARQL并且没有任何问题.
Query query = QueryFactory.create(s2); //s2 …
Run Code Online (Sandbox Code Playgroud) 基本上我正在使用datagrid的ItemSource属性将通用列表绑定到我的datagrid.但是我真的想改变标题,我尝试了以下但是我得到了一个运行时异常:
dgtest.Columns[1].Header = "edited";
Run Code Online (Sandbox Code Playgroud) 基本上我希望根据模型视图控件中的值来检查我的单选按钮,下面是一些示例代码和我到目前为止的尝试:
<tr>
<td>
<label for="brakepads" class="label3">Brake Pads:</label></td>
<%= Html.TextBox("brakepads", Model.brakepads, new {style="display:none" })%>
<%= Html.ValidationMessage("brakepads", "*") %>
<td><label for="brakefluid" class="label4" >Passed:</label>
<asp:RadioButton ID="RadioButton15" runat="server" GroupName="b" value="True" Checked="<%= Model.brakepads.Value %>" onclick="brakepads.value=(this.value)" /></td>
<td><label for="brakefluid" class="label4" >Failed:</label>
<asp:RadioButton ID="RadioButton16" runat="server" GroupName="b" value="False" Checked="<% Model.brakepads.Value %>" onclick="brakepads.value=(this.value)"/></td>
</tr>
Run Code Online (Sandbox Code Playgroud)
我在运行时得到以下内容:无法从'Checked'属性的字符串表示''%= Model.brakepads.Value%>'创建'System.Boolean'类型的对象.
我尝试使用(bool)进行投射,但这也不起作用,所以我不确定接下来该做什么.我唯一担心的是偶尔bool将为null,如果那不会破坏功能那么就没关系了.