http请求返回图片及图片调整大小

  /// <summary>
        /// 请求htpp 返回图片
        /// </summary>
        /// <returns></returns>
        public static Bitmap HttpPostOutImg()
        {
            var req = WebRequest.Create("URL地址") as HttpWebRequest;
            req.Timeout = 100000;
            var ms = new MemoryStream();
            using (WebResponse resp = req.GetResponse())
            {
                var stream = resp.GetResponseStream();
                stream.CopyTo(ms);
            }
            Bitmap img = new Bitmap(ms);
            return img;
        }       


       /// <summary>  

        /// Resize图片   (调整bitmap图片大小)
        /// </summary>  
        /// <param name="bmp">原始Bitmap</param>  
        /// <param name="newW">新的宽度</param>  
        /// <param name="newH">新的高度</param>  
        /// <returns>处理以后的Bitmap</returns>  
        public static Bitmap KiResizeImage(Bitmap bmp, int newW, int newH)
        {
            try
            {
                Bitmap b = new Bitmap(newW, newH);
                Graphics g = Graphics.FromImage(b);


                g.InterpolationMode = InterpolationMode.HighQualityBicubic;


                g.DrawImage(bmp, new Rectangle(0, 0, newW, newH), new Rectangle(0, 0, bmp.Width, bmp.Height), GraphicsUnit.Pixel);
                g.Dispose();


                return b;
            }
            catch
            {
                return null;
            }
        } 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 可以使用 uni.request 函数发起 HTTP 请求来获取图片数据。 具体方法是在 uni.request 中设置 responseType 为 'arraybuffer',然后将请求返回的二进制数据转换为 base64 编码并赋值给图片元素的 src 属性。 例如: ``` uni.request({ url: 'http://example.com/image.jpg', responseType: 'arraybuffer', success: (res) => { let base64 = wx.arrayBufferToBase64(res.data) let imageSrc = 'data:image/jpg;base64,' + base64 this.imageSrc = imageSrc } }) ``` 在模板中,可以使用 v-bind 指令将图片元素的 src 属性绑定到 imageSrc 变量上。 ``` <template> <view> <image v-bind:src="imageSrc"></image> </view> </template> ``` ### 回答2: 在uniapp中写接口返回图片数据,可以按照以下步骤进行操作: 首先,需要在后台服务器端编写一个接口用于返回图片数据。这个接口可以是使用任何编程语言实现的,比如PHP、Node.js等。接口的功能是获取图片的路径或者图片的二进制数据,并返回给前端应用。 1. 后台服务器端编写接口的代码如下(以Node.js为例): ```javascript const fs = require('fs'); const path = require('path'); const express = require('express'); const app = express(); app.get('/getImage', (req, res) => { const imagePath = path.join(__dirname, 'images', 'sample.jpg'); // 图片路径 // 读取图片的二进制数据 fs.readFile(imagePath, (err, data) => { if (err) throw err; // 设置响应头,指定返回的数据类型为图片 res.setHeader('Content-Type', 'image/jpeg'); // 返回图片数据 res.send(data); }); }); app.listen(3000, () => { console.log('Server is running on port 3000'); }); ``` 2. 运行上述代码,启动服务器。服务器将在3000端口监听请求。 3. 在uniapp中,可以使用uni.request方法发起请求获取图片数据。示例如下: ```javascript export default { methods: { getImageData() { uni.request({ url: 'http://localhost:3000/getImage', // 接口地址 method: 'GET', responseType: 'arraybuffer', // 设置返回数据的类型 success: (res) => { const base64Data = uni.arrayBufferToBase64(res.data); // 将返回的arraybuffer类型数据转为base64格式 this.imageData = `data:image/jpeg;base64,${base64Data}`; // 将base64格式数据赋值给前端展示的图片 } }); } } } ``` 4. 在uniapp页面中调用getImageData方法,发起请求并获取到图片数据后,将其赋值给前端展示的图片源,即可在前端页面中显示接口返回图片数据。 通过以上步骤,就可以在uniapp中写接口返回图片数据,并在前端应用中展示图片。 ### 回答3: 在uniapp中,编写接口返回图片数据需要按照以下步骤进行操作: 首先,需要在后端服务器中创建一个接口来将图片数据返回给前端。可以使用Node.js、PHP、Java等后端语言来编写该接口。 接下来,在前端uniapp的代码中,可以使用uni.request函数来发送网络请求获取图片数据。这个函数可以发送HTTP请求到后端接口并获取返回的数据。 在uni.request函数中,需要设置请求的url为后端接口的地址,并指定请求的方法(例如GET或POST)。同时,还可以设置请求头、请求参数等信息,以便服务器能够正确处理请求。 当接收到后端返回图片数据后,可以在前端使用uni-app提供的相关组件(如<image>标签)来展示图片。可以将接收到的图片数据赋值给该组件的src属性,从而显示图片。 在图片展示的过程中,可以根据需要对图片进行进一步处理,比如调整大小、裁剪、添加滤镜等操作。uni-app提供了丰富的组件和插件来实现这些功能。 最后,根据具体需求和业务逻辑,确定是否需要对接口进行其他的错误处理或数据处理操作。比如判断接口返回的状态码,处理图片加载失败的情况等。 总之,在uniapp中编写接口返回图片数据需要通过后端服务器创建接口、前端发送网络请求、接收数据并在前端显示图片的过程来完成。通过合理的代码编写和组件使用,可以轻松实现该功能,并为用户提供良好的使用体验。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值