diff --git a/android/src/main/java/com/swmansion/enriched/common/parser/EnrichedParser.java b/android/src/main/java/com/swmansion/enriched/common/parser/EnrichedParser.java index 08198b3c6..5ed68cfe6 100644 --- a/android/src/main/java/com/swmansion/enriched/common/parser/EnrichedParser.java +++ b/android/src/main/java/com/swmansion/enriched/common/parser/EnrichedParser.java @@ -849,10 +849,20 @@ private static void startImg( int len = text.length(); text.append(""); Object imageSpan = - spanFactory.createImageSpan(src, Integer.parseInt(width), Integer.parseInt(height)); + spanFactory.createImageSpan(src, parseDimension(width), parseDimension(height)); text.setSpan(imageSpan, len, text.length(), EnrichedSpanFlags.forSpan(imageSpan)); } + private static int parseDimension(String value) { + if (value == null) return 0; + try { + int parsed = (int) Math.floor(Float.parseFloat(value)); + return Math.max(parsed, 0); + } catch (NumberFormatException e) { + return 0; + } + } + private static void startA(Editable text, Attributes attributes) { String href = attributes.getValue("", "href"); start(text, new Href(href)); diff --git a/ios/htmlParser/HtmlParser.mm b/ios/htmlParser/HtmlParser.mm index f8d4dc7d6..94603bb5c 100644 --- a/ios/htmlParser/HtmlParser.mm +++ b/ios/htmlParser/HtmlParser.mm @@ -1327,8 +1327,9 @@ + (NSString *)tagContentForStyle:(NSNumber *)style ImageData *data = [imageStyle getImageDataAt:location]; if (data != nullptr && data.uri != nullptr) { return [NSString - stringWithFormat:@"img src=\"%@\" width=\"%f\" height=\"%f\"", - data.uri, data.width, data.height]; + stringWithFormat:@"img src=\"%@\" width=\"%d\" height=\"%d\"", + data.uri, (int)floor(data.width), + (int)floor(data.height)]; } } return @"img";