[英]Size of WPF Textblock used in a shader cannot be resized
我有一個要應用於WPF TextBlock的着色器。 但是,我的着色器似乎總是局限於與文本的邊框相同的紋理。 而且,結果是我無法訪問邊界框之外的像素(例如,添加大邊框或色彩效果)。 在應用着色器之前,我嘗試增加XAML或C#中的邊界框的所有操作均失敗。
此圖片顯示了對文本應用簡單的藍色覆蓋着色器的效果。 它顯示了着色器可以訪問的邊界框的范圍和像素。 因此,問題實際上是在調用着色器之前如何擴展文本邊界框? 希望有人解決過這個問題...
我在下面包括了簡單的着色器代碼:
sampler2D texSampler : register(S0);
float threshold : register (C0);
float4 txtColor : register (C1);
float4 main(float2 uv : TEXCOORD) : COLOR
{
float4 color = tex2D(texSampler, uv);
color.r = txtColor[0];
color.g = txtColor[1];
color.b = txtColor[2];
return color;
}
這是怎么回事-如果未為TextBlock指定背景,則wpf會在文本周圍放置一個緊密的邊框,而與為TextBlock指定的寬度和高度無關。 要解決此問題,只需將TextBlock的Background color設置為Transparent。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.