diff --git a/frameworks/core/components_ng/pattern/qrcode/qrcode_model_static.cpp b/frameworks/core/components_ng/pattern/qrcode/qrcode_model_static.cpp index c9276e1bf0a0673cb36722b2f20453bd09123cf0..feec5676cf6af61b7744408dd2bc1eb2ef0789f7 100644 --- a/frameworks/core/components_ng/pattern/qrcode/qrcode_model_static.cpp +++ b/frameworks/core/components_ng/pattern/qrcode/qrcode_model_static.cpp @@ -48,7 +48,11 @@ void QRCodeModelStatic::SetQRBackgroundColor(FrameNode* frameNode, const std::op void QRCodeModelStatic::SetContentOpacity(FrameNode* frameNode, const std::optional& opacity) { if (opacity) { - ACE_UPDATE_NODE_PAINT_PROPERTY(QRCodePaintProperty, Opacity, *opacity, frameNode); + double opacityValue = *opacity; + if (LessNotEqual(opacityValue, 0.0) || GreatNotEqual(opacityValue, 1.0)) { + opacityValue = 1.0; + } + ACE_UPDATE_NODE_PAINT_PROPERTY(QRCodePaintProperty, Opacity, opacityValue, frameNode); } else { ACE_RESET_NODE_PAINT_PROPERTY(QRCodePaintProperty, Opacity, frameNode); }