diff --git a/magick/draw.c b/magick/draw.c
index 2b833ec..1a2bbfe 100644
--- a/magick/draw.c
+++ b/magick/draw.c
@@ -2017,7 +2017,7 @@
           {
             GetMagickToken(q,&q,token);
             factor=strchr(token,'%') != (char *) NULL ? 0.01 : 1.0;
-            graphic_context[n]->fill.opacity=RoundToQuantum((MagickRealType)
+            graphic_context[n]->fill.opacity=ClampToQuantum((MagickRealType)
               QuantumRange*(1.0-factor*StringToDouble(token)));
             break;
           }
@@ -2215,7 +2215,7 @@
           {
             GetMagickToken(q,&q,token);
             factor=strchr(token,'%') != (char *) NULL ? 0.01 : 1.0;
-            graphic_context[n]->opacity=RoundToQuantum((MagickRealType)
+            graphic_context[n]->opacity=ClampToQuantum((MagickRealType)
               QuantumRange*(1.0-((1.0-QuantumScale*graphic_context[n]->opacity)*
               factor*StringToDouble(token))));
             graphic_context[n]->fill.opacity=graphic_context[n]->opacity;
@@ -2641,7 +2641,7 @@
           {
             GetMagickToken(q,&q,token);
             factor=strchr(token,'%') != (char *) NULL ? 0.01 : 1.0;
-            graphic_context[n]->stroke.opacity=RoundToQuantum((MagickRealType)
+            graphic_context[n]->stroke.opacity=ClampToQuantum((MagickRealType)
               QuantumRange*(1.0-factor*StringToDouble(token)));
             break;
           }