Element styles are sent from browser to ASP.NET MVC4 Web API using code below. For color properties json data contains strings:
backgroundcolor: "rgba(0, 0, 0, 0)"
bordercolor: "rgb(211, 211, 211)"
color: "rgb(51, 51, 51)"
API controller in server should parse those strings to get color values as integers.
How to send this data in parsed form, every rgb component value as separate integer property ?
Or how to parse rgb() strings in MVC API controller to get rgb values as integers ?
Or is there some simpler way to send element styles to API controller and parse them easly in browser or in MVC controller ?
function designerSave() {
var elementsToSend = [];
$(".designer-element").each(function () {
var $this = $(this),
moot = $this.css(["width", "height", "text-align", "font-family", "font-size", "font-weight",
"font-style", "color", "border-color", "background-color"]),
element = {
id: $this.attr('id'),
vpos: Math.round($this.position().top, 2),
hpos: Math.round($this.position().left, 2),
width: parseFloat(moot.width),
height: parseFloat(moot.height),
textalign: moot["text-align"],
fontfamily: moot["font-family"],
fontsize: moot["font-size"],
fontweight: moot["font-weight"],
fontstyle: moot["font-style"],
color: moot.color,
bordercolor: moot["border-color"],
backgroundcolor: moot["background-color"]
};
elementsToSend.push(element);
});
$.ajax("api/Raport",
{
contentType: "application/json",
data: JSON.stringify({ elements: elementsToSend }),
type: 'POST'
});
}