1. Problem Overview
When configuring a Static Text object in Siemens WinCC V7, the Transparency property exposed on the font colour behaves as a binary switch rather than as a continuous gradient. Engineers and HMI designers report that the glyph becomes fully invisible at 100 % transparency, but values from 1 % through 99 % render the text as completely opaque. This behaviour breaks layered HMI designs where the operator must distinguish between fully readable captions and watermarked or hint text, and it defeats the purpose of using transparency to express visual hierarchy on a process picture.
The defect is reproducible in both the Graphics Designer (configuration time) and in Runtime when the property is changed programmatically through VBScript. It has been observed in the field on multiple WinCC V7 service packs, including V7.0 SP1 and V7.0 SP2, and it persists on V7.3, V7.4 and V7.5 whenever the legacy Static Text object is used. The symptom is consistent across Windows 7 SP1, Windows Server 2008 R2, Windows 10 (LTSC 2019, 21H2), Windows Server 2016, and Windows Server 2019, because the limitation lives inside the WinCC object model rather than the operating system.
Unlike most WinCC object properties, the Static Text transparency is bound to the legacy GDI font rasterization path rather than to the Direct2D brush-opacity pipeline that WinCC TIA Portal uses. This is the key observation that explains the binary behaviour and that informs every workaround described in this article.
2. Affected Versions and Environments
| Component | Versions with confirmed bug | Notes |
|---|---|---|
| WinCC V7.0 | RTM, SP1 | Initial defect present; GDI TextOut path |
| WinCC V7.0 SP2 | SP2 base | Bug confirmed on independent test beds |
| WinCC V7.0 SP3 | SP3 base | Behaves identically to SP2 |
| WinCC V7.2 | Up to Update 10 | Inherits same rendering path; defect persists |
| WinCC V7.3 | Update 16 baseline | Defect persists in static text font rendering |
| WinCC V7.4 | Update 18 baseline | Static text path unchanged for legacy objects |
| WinCC V7.5 | All released updates | Newer object types behave correctly; legacy static text defect still reproducible when imported from V7.0/V7.2 |
| Windows OS | 7 SP1, Server 2008 R2, 10 (LTSC 2019, 21H2), Server 2016, Server 2019 | OS-agnostic; the limitation is inside the WinCC object, not the OS |
Projects migrated from WinCC flexible 2008 SP3 or earlier into WinCC V7 carry the same limitation if the static text is reused as a WinCC V7 Static Text. Projects that were completely re-authored in WinCC TIA Portal's WinCC Comfort/Advanced or WinCC Professional (V14 and later) are not affected, because TIA Portal uses a different object model (HmiSimpleTextView or HmiTextView) with proper alpha-blended rendering through Direct2D.
3. Root Cause Analysis
The defect is caused by how the WinCC V7 Graphics Designer applies transparency to the font of a static text object versus how it applies transparency to the object background and object fill paths. The two paths share a property dialog but use two completely different rendering engines inside the WinCC runtime.
Internally, a WinCC V7 Static Text object is composed of three rendering layers:
- A background fill controlled by
BackColorandBackColorFill, drawn with a 32-bit ARGB brush. - A border controlled by
BorderColor,BorderWidthandBorderStyle. - A text glyph rendered through the GDI
TextOut/ExtTextOutAPI using the TrueType rasterizer. The colour of the glyph is taken from theFontColorproperty, which in the configuration dialog exposes an alpha slider.
When you set the transparency slider to a value between 1 and 99, WinCC V7 attempts to blend the text glyph into the underlying layers using a per-pixel alpha calculation. However, the GDI TextOut / ExtTextOut path used by the legacy Static Text object does not accept an alpha channel on the font colour brush; it accepts only a 24-bit RGB color reference. WinCC V7 silently rounds any non-binary alpha to either 0 (fully opaque) or 255 (fully transparent) before calling the underlying GDI function. This rounding is what causes the visible binary switch in the editor and in Runtime.
Several environmental factors amplify or mask the symptom:
-
Global Color Scheme = Yes: When the project-wide colour scheme is enabled, every Static Text overrides its configured
FontColorwith the scheme colour. The override path is the one that strips the alpha channel, so a designer-set alpha is discarded early in the rendering pipeline. In this configuration the bug is observable on every picture that uses the global scheme. - Global Shadow = Yes: A global shadow is drawn as a separate GDI text call, offset by a few pixels, and rendered in a dark colour. The shadow glyph does not respect the static text's own transparency, so the operator sees a "shadow" of an invisible text. The shadow appears solid black at the original position when the foreground text is set to 100 % transparent.
-
TrueType vs. raster fonts: TrueType fonts produce antialiased glyphs whose edges are mathematically blended. WinCC V7's pre-blend of the alpha is applied to the whole glyph, not per pixel, so the result cannot be a partial transparency. Raster fonts (for example the legacy
Systemfont) show the same defect because the rendering path is identical. - ClearType and DPI scaling: Windows ClearType text rendering and high-DPI scaling can change the rasterization order, which sometimes causes the text to appear partially transparent on certain displays. This is purely a perceptual artefact of GDI's grid-fitting and does not indicate that the underlying alpha is correct.
4. Reproducing the Defect
- Open the WinCC Explorer and launch the Graphics Designer.
- Create a new process picture (
.pdl) at any resolution (1024 × 768 is the most common on a 15" panel). - From the Standard palette, drag a Static Text object onto the picture.
- Set the text to
WARNINGand choose a font (Arial 24 pt is the most reproducible). - Open the Font colour dialog. The dialog shows three sliders: colour, colour saturation, and transparency.
- Move the transparency slider to 50 % and click OK. The object remains fully solid in the Graphics Designer.
- Save the picture, switch to WinCC Runtime, and observe the text: it is still fully opaque.
- Move the slider to 100 %. The text glyph disappears, but if Global Shadow is enabled, the shadow glyph stays on screen.
- Now use the VBS snippet below to step the transparency at runtime:
Sub OnClick(ByVal Item) Item.Transparency = Item.Transparency + 10 If Item.Transparency > 100 Then Item.Transparency = 0 End Sub - Click the object repeatedly and watch the text: at every value except 100 the text remains fully opaque. The expected gradient never appears.
If all ten steps are observed exactly as described, the project is hitting the Static Text font-transparency bug. Proceed to the workaround section.
5. Workaround A — Disable Global Color Scheme and Global Shadow
The most reliable partial workaround is to remove the two global features that interfere with the alpha-blending pipeline. This allows the configured transparency value to reach the text rasterizer in cases where the project does not require the global scheme.
- In Graphics Designer, choose Tools → Settings → Tab "Display".
- Set Global Color Scheme to
No. - Set Global Shadow to
No. - Open the Static Text object properties and clear the
UseGlobalColorSchemeandUseGlobalShadowflags at the object level. - Re-apply the font colour transparency in the colour picker dialog. Use the slider inside the dialog, not the numeric box, because the dialog re-evaluates the alpha when the slider moves.
- Compile the project, then start Runtime and verify the text is now showing the gradient.
Result: in WinCC V7.0 SP2 and later, intermediate transparency values between 1 % and 99 % begin to render as semi-transparent text. The behaviour is not perfect — text edges still show GDI antialiasing artefacts at large font sizes — but it satisfies the visual-hierarchy requirement for most screen designs and is the least invasive change to the project structure.
UseGlobalColorScheme flag on the specific static text object instead of at the project level.6. Workaround B — Use the Object Transparency Property Instead
If the design requires the entire Static Text object (background, border, and text) to be partially visible, use the Transparency property exposed in the property window (sometimes displayed as ObjectTransparency in older service packs) rather than the FontColor alpha slider. Object transparency works in the full 0 % to 100 % range because it is applied to a 32-bit ARGB brush, not to a GDI TextOut call.
- Select the Static Text object in the Graphics Designer.
- In the Properties window, locate the
Transparencyproperty under the Display attribute group. - Set the value to a number between 0 and 100 (or use a tag-driven expression such as
"ProcessValue" * 100). - If you want a transparent background, also set
BackColorFilltoNo Fillso the panel underneath shows through the object. - Optionally animate the property through a tag connection or a VBScript to create a fade effect.
| Property | Range | Effect | Binary behaviour? |
|---|---|---|---|
| FontColor.Transparency (colour dialog) | 0 – 100 | Alpha on text glyph only | Yes (bug) |
| Transparency (property window) | 0 – 100 | Alpha on whole object | No |
| BackColorFill = No Fill | Boolean | Suppress background draw | No |
| UseGlobalColorScheme | Boolean | Override scheme colour | Disables scheme override path |
7. Workaround C — VBScript Runtime Control
When a screen needs the text to fade in or out on a tag event (for example an alarm acknowledgement banner that should appear with a fade-in), the recommended pattern is to animate the object transparency rather than the font colour. The script below shows a fade-in cycle that ramps from 0 % to 100 % in one second.
Dim objText
Set objText = ScreenItems("StaticText1")
Dim i
For i = 0 To 100 Step 5
objText.Transparency = i
WaitForMillis 40
Next
Limit the loop to whole-number multiples of 5 to avoid jitter from the renderer rounding. A 40 ms delay yields a fade duration of approximately 0.8 s, which is the human-perceived threshold for "smooth" transitions in operator interfaces. A timing diagram of the fade is shown below.
For a fade-out cycle, reverse the loop and stop at 100:
Dim i
For i = objText.Transparency To 100 Step 5
objText.Transparency = i
WaitForMillis 40
Next
objText.Visible = False
If the design specifically requires only the text to fade (with the background remaining solid), use an SVG/PNG with alpha channel as the static image and animate the picture's transparency. The next section covers this approach in detail.
WaitForMillis call yields the WinCC scheduler and lets the runtime repaint. Calling it more frequently than every 30 ms will saturate the scheduler and starve alarm acknowledgement handling. If you need sub-30 ms tick rates, drive the transparency from a tag that is updated by an external OPC server at the desired rate.8. Workaround D — Replace Static Text with a Picture Object
For designers who absolutely need partial font transparency in WinCC V7, the only fully reliable workaround is to abandon the Static Text object and use a graphic instead. The picture's alpha channel is respected by the same 32-bit ARGB brush path that drives the object transparency fix, and the bug does not apply to it.
- Render the text in a third-party tool (Inkscape, Adobe Illustrator, CorelDRAW) at the exact font size and weight used by the rest of the screen. Keep the text on a transparent background.
- Export the text as a 32-bit PNG with alpha channel, or as an SVG if your WinCC version supports it (V7.4 SP1 Update 7 and later ship with an SVG renderer in the Graphics Designer).
- In Graphics Designer, drop a Graphic Object on the picture and assign the PNG.
- Animate
GraphicObject.Transparencyat runtime — the picture's alpha channel will be respected because the renderer composites the entire picture through a 32-bit ARGB brush. - For multi-state text (alarm severity, language switch, value display), use one graphic per state and toggle their visibility through a tag connection.
This approach costs a small amount of memory (one PNG per text string, typically 4–16 KB after compression) but eliminates the rendering bug entirely. It is the method used in the Siemens reference project "WinCC V7 Demo" for watermarks and login-overlay text, and it survives every service pack because the path is not the legacy GDI TextOut path.
9. Workaround E — Migrate to TIA Portal WinCC
For greenfield projects and major retrofits, the cleanest solution is to migrate the affected screens to WinCC Professional V16 or later inside the TIA Portal. The new HMI objects (HmiTextView, HmiSimpleTextView) use a Direct2D rendering pipeline that fully supports per-pixel alpha on text and is not affected by the legacy GDI rounding.
- WinCC Comfort Panels (TP, KTP, RP) are not affected because they never exposed the legacy Static Text bug.
- WinCC Professional Runtime (PC-based) V16 / V17 / V18 implements the new text renderer.
- Migration can be done picture-by-picture with the WinCC V7 → TIA conversion tool. See the Migrating WinCC V7 to TIA Portal WinCC Professional manual for the official procedure.
- Tag names, alarm classes, and S7 connections are migrated automatically; HMI tags, scripts, and picture objects require manual review.
Migration cost should be weighed against the cumulative engineering time spent on the workaround. For a project that requires extensive use of watermarks and decorative text, a one-time migration is usually more economic than carrying the workaround forward through every service pack upgrade.
10. Verification Procedure
After applying any of the workarounds above, run this checklist in Runtime to confirm correct behaviour.
- Open the picture in WinCC Runtime (activate the project).
- Place a high-contrast shape (bright yellow rectangle) directly behind the static text object.
- If the text is supposed to be 50 % transparent, the yellow must bleed through the glyph in the editor preview and in Runtime. If you see a solid block of text colour, the workaround did not take effect.
- Trigger the VBS fade script (Workaround C). Watch the text cycle from solid to invisible. Document the cycle duration in the project HMI test report.
- Reload the picture by switching to another picture and back. Verify the transparency value is preserved (this catches the "transparency resets on picture change" sub-bug present in V7.0 SP1).
- If you disabled Global Color Scheme, perform a regression test on every other object type in the picture (buttons, I/O fields, bars, sliders) to ensure the design system is still acceptable.
- Switch the WinCC language to a second language and confirm the translated text is also semi-transparent. Some fonts ship different glyphs per language; the rasterizer may treat them differently.
- Capture a screenshot in Runtime and inspect the alpha channel in an image editor (GIMP, Photoshop) to confirm the per-pixel alpha is in the expected range, not just 0 or 255.
- Test on the actual target hardware (panel or industrial PC), not only on the engineering station. Different GDI drivers can produce subtly different results.
11. Troubleshooting Matrix
| Symptom | Likely cause | Fix |
|---|---|---|
| Text invisible at 100 % transparency but no transparency at 50 % | Static Text font-colour bug (this article) | Apply Workaround A, C, or D |
| Text invisible at 100 % transparency and a black "shadow" remains | Global Shadow is enabled | Set Global Shadow = No, or use Workaround D |
| Object background becomes semi-transparent at 50 % but text does not | Object transparency is working, font is not | Use Workaround B (object transparency only) |
| Text jumps between 0 % and 100 % with no smooth fade | Renderer rounding alpha to binary | Use VBS step size 5–10 and add WaitForMillis |
| Transparency value resets when navigating away and back to the picture | Picture-change bug in V7.0 SP1 | Apply WinCC V7.0 SP3 Update 4 or later |
| Text appears semi-transparent in Graphics Designer but solid in Runtime | Global Color Scheme overrides font colour in Runtime | Disable Global Color Scheme |
| Designer crashes when setting transparency above 80 % | Known GDI handle leak | Apply WinCC V7.3 Update 16 cumulative patch |
| Transparency works in WinCC V7.5 but not in an imported V7.0 picture | Legacy picture uses old object GUID | Re-insert the Static Text and copy the property values |
| Transparency works for one language but not another | Different font glyphs trigger different rasterization | Force a single font for all languages, or move to Workaround D |
| Fade-in is jerky even with 40 ms tick | Scheduler starvation from alarm flood | Drive transparency from a tag updated by an external OPC server |
| Watermark text appears as a black box on a different runtime PC | Missing font on the target machine | Install the font on the target or embed it via the picture font embedding option |
12. Best Practices and Long-Term Recommendations
- Standardise on object transparency, not font colour transparency, for fade effects. Object transparency works in every WinCC V7 release, while font colour transparency is the broken path.
-
Disable Global Color Scheme on any picture that requires text transparency. If you cannot disable the global scheme project-wide, override the
UseGlobalColorSchemeflag on each affected static text object. - Use SVG/PNG with alpha channel for all watermarks, decorative captions, and "ghost" text. This is the only approach that survives every WinCC V7 service pack without regression.
- Wrap any text transparency in a VBS fade loop with a 40–60 ms tick. Faster ticks cause GDI to drop frames; slower ticks appear jerky to the operator.
- Document the transparency behaviour in the project's HMI style guide so that future engineers do not waste hours re-discovering the bug. Include a sample picture that exercises every documented workaround.
- Plan a TIA Portal migration if your site has not yet started one. WinCC V7 reaches end of life in September 2026; the new text renderer is a strong reason to accelerate the move.
- Keep a regression-test picture in every project that exercises text transparency. This catches the bug early after any WinCC update and protects against re-introduction of the same class of defect.
- Avoid mixing font colour transparency with object transparency on the same object. The two paths interact in non-obvious ways and can produce flicker during picture change.
- Cap animation rates on operator-facing graphics at 25 frames per second. Higher rates saturate the WinCC scheduler and can stall alarm logging during a process upset.
- For multi-language projects, test every language variant of the watermarked text. Some language packs ship with a fallback font that triggers the bug even after a workaround is applied.
Why does my WinCC V7 static text become fully opaque at any transparency value other than 0 % or 100 %?
The font colour transparency of a Static Text object is rounded to a binary value (0 or 255) before being passed to the GDI TextOut path that renders the glyph. The result is a visible jump between fully opaque and fully transparent. This is a known defect in WinCC V7.0 through V7.5 for legacy static text objects. The only fully reliable fixes are disabling Global Color Scheme + Global Shadow, using the object-level transparency property, or replacing the static text with a PNG/SVG that has its own alpha channel.
Does the VBScript Item.Transparency = Item.Transparency + 10 fade text in WinCC Runtime?
Only if you target the object-level Transparency property, not the font colour. Animating object transparency yields a smooth fade for the entire object (background, border, and text). Animating font colour transparency will appear to do nothing until the value reaches 100 %, at which point the text disappears instantly. Combine the increment with a 40 ms WaitForMillis call for a perceptible fade without scheduler saturation.
Which WinCC versions are affected by the static text transparency bug?
WinCC V7.0 RTM, V7.0 SP1, V7.0 SP2, V7.0 SP3, V7.2 (all updates), V7.3 (all updates), V7.4 (all updates) and V7.5 (legacy static text only, when imported from older projects) reproduce the defect. WinCC TIA Portal (Comfort Panels and WinCC Professional V14 or later) is not affected because it uses the Direct2D-based HmiTextView renderer.
How do I make a watermark or background caption in WinCC V7?
Use a 32-bit PNG with an alpha channel inside a Graphic Object, and set the picture's transparency to a non-binary value. This bypasses the broken static text rendering path and gives you a fully anti-aliased, partially transparent watermark that survives every service pack. Export the text from Inkscape or Adobe Illustrator at the correct font size and weight before importing the PNG.
After disabling Global Color Scheme my whole project looks different — what do I do?
Override the UseGlobalColorScheme and UseGlobalShadow flags at the object level on the affected static text, rather than disabling the global scheme project-wide. You can also create a separate picture file that hosts only the watermarks and use the SetPicture VBS function to overlay it on top of the live picture without affecting the rest of the design system.
Is there an official Siemens support request number for this defect?
Search the Siemens Industry Online Support portal at support.industry.siemens.com for "WinCC V7 static text transparency" to find the latest cumulative update that addresses the rendering path. For greenfield projects, the supported path is to migrate to WinCC Professional V18 in the TIA Portal, where the HmiTextView renderer fully supports per-pixel alpha.