Find Jobs
Hire Freelancers

Convert a script from C# to javascript/nodejs to print image to POS Printer (ESCP)

$10-30 USD

Completed
Posted over 9 years ago

$10-30 USD

Paid on delivery
You may use whatever nodejs module (npm) you want in order to accomplish the goal. The goal is to create a command string that will be created with the script and it will be placed in the buffer. Below you may see the script that I want to be converted to nodejs/javascript. public string GetLogo() { string logo = ""; if (![login to view URL](@"C:\[login to view URL]")) return null; BitmapData data = GetBitmapData(@"C:\[login to view URL]"); BitArray dots = [login to view URL]; byte[] width = [login to view URL]([login to view URL]); int offset = 0; MemoryStream stream = new MemoryStream(); BinaryWriter bw = new BinaryWriter(stream); [login to view URL]((char)0x1B); [login to view URL]('@'); [login to view URL]((char)0x1B); [login to view URL]('3'); [login to view URL]((byte)24); while (offset < [login to view URL]) { [login to view URL]((char)0x1B); [login to view URL]('*'); // bit-image mode [login to view URL]((byte)33); // 24-dot double-density [login to view URL](width[0]); // width low byte [login to view URL](width[1]); // width high byte for (int x = 0; x < [login to view URL]; ++x) { for (int k = 0; k < 3; ++k) { byte slice = 0; for (int b = 0; b < 8; ++b) { int y = (((offset / 8) + k) * 8) + b; // Calculate the location of the pixel we want in the bit array. // It'll be at (y * width) + x. int i = (y * [login to view URL]) + x; // If the image is shorter than 24 dots, pad with zero. bool v = false; if (i < [login to view URL]) { v = dots[i]; } slice |= (byte)((v ? 1 : 0) << (7 - b)); } [login to view URL](slice); } } offset += 24; [login to view URL]((char)0x0A); } // Restore the line spacing to the default of 30 dots. [login to view URL]((char)0x1B); [login to view URL]('3'); [login to view URL]((byte)30); [login to view URL](); byte[] bytes = [login to view URL](); return logo + [login to view URL](bytes); } public BitmapData GetBitmapData(string bmpFileName) { using (var bitmap = (Bitmap)[login to view URL](bmpFileName)) { var threshold = 127; var index = 0; double multiplier = 570; // this depends on your printer model. for Beiyang you should use 1000 double scale = (double)(multiplier/(double)[login to view URL]); int xheight = (int)([login to view URL] * scale); int xwidth = (int)([login to view URL] * scale); var dimensions = xwidth * xheight; var dots = new BitArray(dimensions); for (var y = 0; y < xheight; y++) { for (var x = 0; x < xwidth; x++) { var _x = (int)(x / scale); var _y = (int)(y / scale); var color = [login to view URL](_x, _y); var luminance = (int)(color.R * 0.3 + color.G * 0.59 + color.B * 0.11); dots[index] = (luminance < threshold); index++; } } return new BitmapData() { Dots = dots, Height = (int)([login to view URL]*scale), Width = (int)([login to view URL]*scale) }; } } public class BitmapData { public BitArray Dots { get; set; } public int Height { get; set; } public int Width { get; set; } }
Project ID: 6778333

About the project

3 proposals
Remote project
Active 9 yrs ago

Looking to make some money?

Benefits of bidding on Freelancer

Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs
Awarded to:
User Avatar
Thank you for posting this project .I have more than 5 years experience on C# / javascript. I am ready to start the work right now. I'm looking forward to waiting for your reply. I can work in Wordpress, Joomla, Magento, CMS, C#,asp.net,Java ... Thank you for your attention. If you're free, please chat with me
$50 USD in 3 days
0.0 (0 reviews)
0.0
0.0
3 freelancers are bidding on average $144 USD for this job
User Avatar
We are a professional developer team of 3 developers and a project manager located in Berlin. It supposed to be needed to cover the whole process with tests too.
$217 USD in 2 days
5.0 (1 review)
4.4
4.4
User Avatar
Hello, I am proficient using HTML, CSS, PHP, Flash, ActionScript, Java and C/C++. I understand your job. I am little busy with my other big job. If you give me 2 days then I can fix this issue. Regards, Biplob
$111 USD in 1 day
0.0 (0 reviews)
0.0
0.0
User Avatar
Hi , We have significant experience in node.js project. We can provide references on request. Regards Ennovations
$105 USD in 2 days
0.0 (0 reviews)
0.0
0.0

About the client

Flag of BULGARIA
SOFIA, Bulgaria
4.9
28
Payment method verified
Member since Feb 13, 2010

Client Verification

Thanks! We’ve emailed you a link to claim your free credit.
Something went wrong while sending your email. Please try again.
Registered Users Total Jobs Posted
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
Loading preview
Permission granted for Geolocation.
Your login session has expired and you have been logged out. Please log in again.