10 Answers, 1 is accepted
0
                                
                                                    Shinu
                                                    
                                            
    Top achievements
    
            
                 Rank 2
                Rank 2
            
    
                                                
                                                answered on 18 Sep 2013, 11:02 AM
                                            
                                        Hi Chris,
Please have a look at the following CSS I tried which works fine at my end.
CSS:
Thanks,
Shinu.
                                        Please have a look at the following CSS I tried which works fine at my end.
CSS:
<style type="text/css">    path    {        stroke: Blue;    }</style>Thanks,
Shinu.
0
                                
                                                    Chris
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 18 Sep 2013, 01:20 PM
                                            
                                        Oops, I need to add some additional clarification. I am creating the RadBarCode in the code behind, grabbing its generated image, and embedding the QRCode image into another image. So I don't think I can go the css route in this situation. Thanks for posting the css workaround though.
 
 
                                        Dim barcode As RadBarcode = New RadBarcode() barcode.Text = "text to embed" 'set the barcode properties barcode.Type = BarcodeType.QRCode barcode.QRCodeSettings.ECI = Modes.ECIMode.None barcode.QRCodeSettings.ErrorCorrectionLevel = Modes.ErrorCorrectionLevel.M barcode.QRCodeSettings.Mode = Modes.CodeMode.Alphanumeric barcode.QRCodeSettings.Version = 7 ' 1-40 barcode.OutputType = BarcodeOutputType.EmbeddedPNG Using image As Image = barcode.GetImage()    ' work with the image End Using0
                                
                                                    Shinu
                                                    
                                            
    Top achievements
    
            
                 Rank 2
                Rank 2
            
    
                                                
                                                answered on 19 Sep 2013, 04:30 AM
                                            
                                        Hi Chris,
The CSS works irrespective of the RadBarCode is created from code behind or declared in the mark-up and this is applicable to SVG_VML output types. If the output type is EmbeddedPNG then the QR Code is rendered as <img> element and hence the workaround is not applicable since there is no attributes such as stroke, fill etc for the <img>.
Thanks,
Shinu.
                                        The CSS works irrespective of the RadBarCode is created from code behind or declared in the mark-up and this is applicable to SVG_VML output types. If the output type is EmbeddedPNG then the QR Code is rendered as <img> element and hence the workaround is not applicable since there is no attributes such as stroke, fill etc for the <img>.
Thanks,
Shinu.
0
                                
                                                    Chris
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 19 Sep 2013, 12:18 PM
                                            
                                        Sorry, I wan't clear. 
The code is never rendering the barcode control to the user. I am simply using the RadBarCode control in the code behind to generate a QRCode image that I embed into another image that I save to the filesystem. At a later point I display that composite image back to a user. There would be no chance for the css to come into play.
I appreciate the help.
                                        The code is never rendering the barcode control to the user. I am simply using the RadBarCode control in the code behind to generate a QRCode image that I embed into another image that I save to the filesystem. At a later point I display that composite image back to a user. There would be no chance for the css to come into play.
I appreciate the help.
0
                                
                                                    Shinu
                                                    
                                            
    Top achievements
    
            
                 Rank 2
                Rank 2
            
    
                                                
                                                answered on 20 Sep 2013, 04:28 AM
                                            
                                        Hi Chris,
Straight to the point, If you are generating a RadBarCode with BarcodeOutputType as EmbeddedPNG, its not possible to set the QR code color using CSS. The CSS work around I provided will work only for RadBarCode with SVG_VML OutputType (Does not depends on whether the RadBarCode is created dynamically from C# or in ASPX).
Hope this makes clear,
Shinu.
                                        Straight to the point, If you are generating a RadBarCode with BarcodeOutputType as EmbeddedPNG, its not possible to set the QR code color using CSS. The CSS work around I provided will work only for RadBarCode with SVG_VML OutputType (Does not depends on whether the RadBarCode is created dynamically from C# or in ASPX).
Hope this makes clear,
Shinu.
0
                                Accepted
Hi Chris,
Such functionality is not available out of the box for the RadBarcode.
For your scenario you could retrieve the generated image with the GetImage() and change the colors of that image. Here is the code that you need:
 
 
 
Furthermore, for changing the displayed image, one could use an <img> element in your markup (instead of RadBarcode), then use RadBarcode control in the code-behing and retrieve the generated image by using the GetImage() method of the control, then go through every pixel of the image and conditionally change its color and then assign that image as "src" to the "img" element:
And the code behind:
 
 
 
Hope that helps.
Konstantin Dikov
Telerik
                                        Such functionality is not available out of the box for the RadBarcode.
For your scenario you could retrieve the generated image with the GetImage() and change the colors of that image. Here is the code that you need:
Dim barcode As New RadBarcode()barcode.Text = "some text"barcode.Type = BarcodeType.QRCodeDim bm As New Bitmap(barcode.GetImage())'The new color replacing all black pixelsDim blackReplaceColor As Color = Color.FromArgb(255, 20, 50, 220)'The new color replacing all white pixelsDim whiteReplaceColor As Color = Color.FromArgb(255, 200, 250, 250)For i As Integer = 0 To bm.Height - 1    For y As Integer = 0 To bm.Width - 1        If bm.GetPixel(y, i).Name = "ff000000" Then            bm.SetPixel(y, i, blackReplaceColor)        Else            bm.SetPixel(y, i, whiteReplaceColor)        End If    NextNextbm.Save(MapPath("testImage.png"), System.Drawing.Imaging.ImageFormat.Png)Furthermore, for changing the displayed image, one could use an <img> element in your markup (instead of RadBarcode), then use RadBarcode control in the code-behing and retrieve the generated image by using the GetImage() method of the control, then go through every pixel of the image and conditionally change its color and then assign that image as "src" to the "img" element:
<img id="BarcodeImage" runat="server" border="0" src="defaultImage.png" alt=""/>And the code behind:
protected void Page_Load(object sender, EventArgs e){    RadBarcode barcode = new RadBarcode();    barcode.Text = "some text";    barcode.Type = BarcodeType.QRCode;    Bitmap bm = new Bitmap(barcode.GetImage());    //The new color replacing all black pixels    Color blackReplaceColor = Color.FromArgb(255, 20, 50, 220);    //The new color replacing all white pixels    Color whiteReplaceColor = Color.FromArgb(255, 200, 250, 250);    for (int i = 0; i < bm.Height; i++)    {        for (int y = 0; y < bm.Width; y++)        {            if (bm.GetPixel(y, i).Name == "ff000000")            {                bm.SetPixel(y, i, blackReplaceColor);            }            else            {                bm.SetPixel(y, i, whiteReplaceColor);            }        }    }    MemoryStream stream = new MemoryStream();    bm.Save(stream, System.Drawing.Imaging.ImageFormat.Png);    BarcodeImage.Src = @"data:image/gif;base64," + Convert.ToBase64String(stream.ToArray());}Hope that helps.
Regards,
Konstantin Dikov
Telerik
If you want to get updates on new releases, tips and tricks and sneak peeks at our product labs directly from the developers working on the RadControls for ASP.NET AJAX, subscribe to the blog feed now.
0
                                
                                                    Eric Garrison
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 23 Sep 2013, 02:52 PM
                                            
                                        Thank you!!
Here is a stripped down version of my code in case someone else runs into this.
Protected shared function getImage()               Dim barcode As RadBarcode = New RadBarcode()                barcode.Text = "textToDisplay embed"                applyBarcodeSettings(barcode, BarcodeType.QRCode, 110, 110)                return applyBarcodeColor(barcode, "#FF0000")end functionProtected Shared Sub applyBarcodeSettings(ByRef barcode As RadBarcode, ByVal barCodeType As BarcodeType, ByVal Width As Int32, ByVal Height As Int32)        barcode.Type = barCodeType        barcode.QRCodeSettings.ECI = Modes.ECIMode.None        barcode.QRCodeSettings.ErrorCorrectionLevel = Modes.ErrorCorrectionLevel.M        barcode.QRCodeSettings.Mode = Modes.CodeMode.Alphanumeric        barcode.QRCodeSettings.Version = 7 ' 1-40        barcode.OutputType = BarcodeOutputType.EmbeddedPNG        barcode.ForeColor = Color.Blue        barcode.Width = Width        barcode.Height = Height        'the more dots the more detail, just going to set it high here and assume the image will be compressed when resized        barcode.QRCodeSettings.DotSize = 10    End Sub    Protected Shared Function applyBarcodeColor(ByRef barcode As RadBarcode, ByVal hexColor As String) As Image        Dim img As Image = Nothing        If (hexColor <> "#000000") Then            ''change QR Code color            Dim bm As New Bitmap(barcode.GetImage())            'The new color replacing all black pixels            Dim blackReplaceColor As Color = HexColorString2Color(hexColor)            'The new color replacing all white pixels            'Dim whiteReplaceColor As Color = HexColorString2Color(bgColor)            For imgRow As Integer = 0 To bm.Height - 1                For imgCol As Integer = 0 To bm.Width - 1                    If bm.GetPixel(imgCol, imgRow).Name = "ff000000" Then                        bm.SetPixel(imgCol, imgRow, blackReplaceColor)                    Else                        'not replacing white                        'bm.SetPixel(imgCol, imgRow, whiteReplaceColor)                    End If                Next            Next            Dim stream As MemoryStream = New MemoryStream()            bm.Save(stream, System.Drawing.Imaging.ImageFormat.Png)            img = Image.FromStream(stream)        Else            img = barcode.GetImage()        End If        Return img    End Function    Public Shared Function HexColorString2Color(ByVal HexColor As String) As Color        Dim Red As Integer        Dim Green As Integer        Dim Blue As Integer        Dim ret As Color = Color.Black        HexColor = Replace(HexColor, "#", "")        'Here HexColor = "00FF1F"        Red = Val("&H" & Mid(HexColor, 1, 2))        'The red value is now the long version of "00"        Green = Val("&H" & Mid(HexColor, 3, 2))        'The red value is now the long version of "FF"        Blue = Val("&H" & Mid(HexColor, 5, 2))        'The red value is now the long version of "1F"        ret = Color.FromArgb(255, Red, Green, Blue)        Return ret    End Function0
                                
                                                    allen
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 04 Feb 2015, 10:16 AM
                                            
                                        I met the same problem.
I am trying to generate a different colored QR Code using phpqrcode library.
My code sample is below:
<?php
include('./phpqrcode/qrlib.php');
$uri=$_GET['uri'];
$backColor = 0xFFFFFF;
$foreColor = 0x000066;
header("Content-Type: image/png");
QRcode::png($uri, false, QR_ECLEVEL_L, 6, 1, false, $backColor, $foreColor);
?>
However, the colors just seem to get ignored and the QR code always comes out as black on white.
I am pretty sure I am using the latest version of the library (v1.1.4):
http://sourceforge.net/projects/phpqrcode/files/releases/
Anyone managed to get this working?
                                        I am trying to generate a different colored QR Code using phpqrcode library.
My code sample is below:
<?php
include('./phpqrcode/qrlib.php');
$uri=$_GET['uri'];
$backColor = 0xFFFFFF;
$foreColor = 0x000066;
header("Content-Type: image/png");
QRcode::png($uri, false, QR_ECLEVEL_L, 6, 1, false, $backColor, $foreColor);
?>
However, the colors just seem to get ignored and the QR code always comes out as black on white.
I am pretty sure I am using the latest version of the library (v1.1.4):
http://sourceforge.net/projects/phpqrcode/files/releases/
Anyone managed to get this working?
0
                                
                                                    lee
                                                    
                                            
    Top achievements
    
            
                 Rank 1
                Rank 1
            
    
                                                
                                                answered on 03 Aug 2015, 03:30 AM
                                            
                                        Hi,
How about the QR code reader? Any suggestion will be appreciated.Thanks in advance.
Best regards,
Arron
0
                                Hi lee,
I see that the Scan method of the QR Barcode Reader that you are referring to accepts Bitmap image, so you can use the same method of the RadBarcode control that is demonstrated in the previous posts : GetImage.
Hope this helps.
Regards,
Konstantin Dikov
Telerik 
 
                                        I see that the Scan method of the QR Barcode Reader that you are referring to accepts Bitmap image, so you can use the same method of the RadBarcode control that is demonstrated in the previous posts : GetImage.
Hope this helps.
Regards,
Konstantin Dikov
Telerik
Check out the Telerik Platform - the only platform that combines a rich set of UI tools with powerful cloud services to develop web, hybrid and native mobile apps.
