react-native-canvas icon indicating copy to clipboard operation
react-native-canvas copied to clipboard

Not able to render image on ios 15.2.1

Open kalyanipullela opened this issue 2 years ago • 4 comments

Hello,

The image is loaded perfectly on ios simulators but on the real device the image is not displaying instead displaying a white blank screen. I've used react-native-canvas version 0.1.38 and ios version is 15.2.1 Following is the code snippet I've tried

const handleCanvas = () =>{ 
const image = new CanvasImage(canvas);
          console.log("image",image)
          canvas.width = Dimensions. get('window'). width;
          canvas.height = Dimensions. get('window'). height;
         const ctx = canvas.getContext('2d');
//Not entering into this function on real devices but working on simulators
          image.addEventListener('load', () => {
              ctx.drawImage(image, 0, 0, 651, 442);
            }); 
}

<Canvas ref={handleCanvas}/>

Any help is appreciated

Thank you in advance

kalyanipullela avatar Aug 03 '22 06:08 kalyanipullela

me too ios version is 15.6.1

tyawei avatar Sep 05 '22 07:09 tyawei

Where are you setting the source? And where is your canvas variable being declared?

nora-soderlund avatar Oct 05 '22 17:10 nora-soderlund

I'm seeing the same issue here. Works on Android.

ntrpnr avatar Jun 20 '23 15:06 ntrpnr

i also see the issue, if image.src ='file://' which in the local system file ,it can't draw , but the image.src="https://" link ,it is ok in ios 15. and drawImage can't set crossOrigin

const drawImage = (imageUri: string) => {
    if (!curImageTransform || !curImageSize) return;
    const ctx = getCtx(bgCanvasRef);
    if (!ctx) {
      console.log('app error: ctx null');
      return;
    }
    clearCanvas(ctx);
    const img = new CanvasImage(bgCanvasRef.current!);
    // img.crossOrigin = 'anonymous';
    console.log('imageUri:', imageUri);
    img.src = imageUri;
    img.addEventListener('load', () => {
      console.log('load:', curImageTransform, curImageSize);
      ctx.drawImage(
        img,
        curImageTransform.offsetX,
        curImageTransform.offsetY,
        curImageSize.width,
        curImageSize.height,
      );
    });
  };

JRfan123 avatar May 30 '24 08:05 JRfan123