diff --git a/packages/react-native/Libraries/Image/RCTImageView.mm b/packages/react-native/Libraries/Image/RCTImageView.mm index 8cd0ec29df1..3e65fca9321 100644 --- a/packages/react-native/Libraries/Image/RCTImageView.mm +++ b/packages/react-native/Libraries/Image/RCTImageView.mm @@ -41,8 +41,8 @@ static NSDictionary *onLoadParamsForSource(RCTImageSource *source) { NSDictionary *dict = @{ @"uri" : source.request.URL.absoluteString, - @"width" : @(source.size.width), - @"height" : @(source.size.height), + @"width" : @(source.size.width * source.scale), + @"height" : @(source.size.height * source.scale), }; return @{@"source" : dict}; } @@ -406,7 +406,7 @@ RCT_NOT_IMPLEMENTED(-(instancetype)initWithFrame : (CGRect)frame) } } else { if (strongSelf->_onLoad) { - RCTImageSource *sourceLoaded = [source imageSourceWithSize:image.size scale:source.scale]; + RCTImageSource *sourceLoaded = [source imageSourceWithSize:image.size scale:image.scale]; strongSelf->_onLoad(onLoadParamsForSource(sourceLoaded)); } if (strongSelf->_onLoadEnd) { diff --git a/packages/react-native/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp b/packages/react-native/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp index 30d136f3479..f041351578e 100644 --- a/packages/react-native/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp +++ b/packages/react-native/ReactCommon/react/renderer/components/image/ImageEventEmitter.cpp @@ -17,8 +17,8 @@ void ImageEventEmitter::onLoad(const ImageSource& source) const { dispatchEvent("load", [source](jsi::Runtime& runtime) { auto src = jsi::Object(runtime); src.setProperty(runtime, "uri", source.uri); - src.setProperty(runtime, "width", source.size.width); - src.setProperty(runtime, "height", source.size.height); + src.setProperty(runtime, "width", source.size.width * source.scale); + src.setProperty(runtime, "height", source.size.height * source.scale); auto payload = jsi::Object(runtime); payload.setProperty(runtime, "source", src); return payload;