首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >裁剪后的图像url作为道具反应

裁剪后的图像url作为道具反应
EN

Stack Overflow用户
提问于 2020-10-25 06:52:05
回答 1查看 66关注 0票数 0

我目前正在尝试实现一个来自(react-image-crop)的裁剪和一个youtube上的教程。裁剪者是:

代码语言:javascript
复制
export const Cropper = (base64Image) => {   
    const [src, selectFile] = useState(null); 
    const handleFileChange = e => {
      selectFile(URL.createObjectURL(e.target.files[0]))
    }
    const [image, setImage] = useState(null)
    const [crop, setCrop] = useState({ aspect: 16 / 9,width: 300, height:200 });
    const [result, setResult] = useState(null);
    
    function getCroppedImg() {
      const canvas = document.createElement('canvas');
    const scaleX = image.naturalWidth / image.width;
    const scaleY = image.naturalHeight / image.height;
    canvas.width = crop.width;
    canvas.height = crop.height;
    const ctx = canvas.getContext('2d');

    ctx.drawImage(
      image,
      crop.x * scaleX,
      crop.y * scaleY,
      crop.width * scaleX,
      crop.height * scaleY,
      crop.width,
      crop.height,
      0,
      0,
    );
    
    const base64Image = canvas.toDataURL('image/jpeg');
    setResult(base64Image);
    } 
    return (
      <div className= 'container'>
        <div className = 'column' padding = '1rem'> 
            <div  className = 'col-6'>
              <input type = 'file' accept='image/*' onChange= {handleFileChange} />
            </div>
            {src && <div className = 'col-6' padding ='1rem'>
                <ReactCrop src={src} onImageLoaded={setImage} crop={crop} onChange={setCrop} />
                <Button color = 'secondary' variiant='outlined' onClick={getCroppedImg}> Crop Image </Button> 
           </div> }

            {result && <div className='col-6'>
            <img src={result} alt='Cropped Image' className='img-fluid' />
      
            </div> }
        </div>
     </div>      
  )
}

现在,在const base64image中裁剪的图像,我想把它作为一个道具传递给一个父组件(函数组件),我该怎么做呢?我在父组件上有这个

代码语言:javascript
复制
 {base64Image && 
            <div className='col-6'>
            <img src="require('image/jpeg')" alt='Cropped Image' className='img-fluid' />
            </div> }

我是react的新手

EN

回答 1

Stack Overflow用户

发布于 2020-10-25 07:09:33

数据URL应用作img src属性,如下所示:

代码语言:javascript
复制
<img src={base64Image} alt='Cropped Image' className='img-fluid' />
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64518749

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档