首页 > 其他分享 >图片转二进制的相互转化

图片转二进制的相互转化

时间:2024-12-27 17:46:29浏览次数:6  
标签:return string 二进制 Bitmap 转化 new byte 图片

// 图片转换成二进制

        public static byte[] ImageDatabytes(string FilePath)
        {
            if (!File.Exists(FilePath))
                return null;
            Bitmap myBitmap = new Bitmap(Image.FromFile(FilePath));

            using (MemoryStream curImageStream = new MemoryStream())
            {
                myBitmap.Save(curImageStream, System.Drawing.Imaging.ImageFormat.Png);
                curImageStream.Flush();

                byte[] bmpBytes = curImageStream.ToArray();
                //如果转字符串的话
                //string BmpStr = Convert.ToBase64String(bmpBytes);
                return bmpBytes;
            }
        }

  //二进制转化图片

        public static Bitmap GetImage(byte[] ImageDatas)
        {
            try
            {
                //如果是字符串的话
                //byte[] resultBytes = Convert.FromBase64String(ImageDatas);
                using (MemoryStream ImageMS = new MemoryStream())
                {
                    ImageMS.Write(ImageDatas, 0, ImageDatas.Length);

                    Bitmap resultBitmap = new Bitmap(ImageMS);
                    return resultBitmap;
                }
            }
            catch
            {
                return null;
            }
        }

  二进制图片上传

public class ImageUploader
{
    private static readonly HttpClient client = new HttpClient();
 
    public async Task UploadImageAsync(string imagePath, string uploadUrl)
    {
        // 将图片转换为二进制
        byte[] imageBytes = File.ReadAllBytes(imagePath);
 
        // 使用HttpClient上传二进制数据
        ByteArrayContent content = new ByteArrayContent(imageBytes);
        var response = await client.PostAsync(uploadUrl, content);
 
        // 检查响应状态
        response.EnsureSuccessStatusCode();
        string responseBody = await response.Content.ReadAsStringAsync();
        Console.WriteLine(responseBody);
    }
}
 
// 使用示例
class Program
{
    static async Task Main(string[] args)
    {
        ImageUploader uploader = new ImageUploader();
        string imagePath = "path/to/your/image.jpg";
        string uploadUrl = "http://yourserver.com/upload";
        await uploader.UploadImageAsync(imagePath, uploadUrl);
    }
}

 

标签:return,string,二进制,Bitmap,转化,new,byte,图片
From: https://www.cnblogs.com/MaoZhuaShi/p/18636349

相关文章

  • C# winform图片上传事例
    在C#WinForms应用程序中上传图片,你可以使用OpenFileDialog来让用户选择图片文件,然后使用WebRequest或HttpClient来发送图片到服务器。以下是一个简单的例子:添加一个按钮到你的WinForms窗体上,用来触发上传操作。实现按钮的点击事件处理程序来打开文件选择器,选择图片,并上......
  • 智能问答模型升级,通义灵码新增图片多模态问答模式等新能力,项目秒上手
    通义灵码智能问答模型升级Qwen2.5Coder、输入交互升级并丰富上下文支持,全新支持多模态图片问答模式等。1.智能问答模型升级到最新Qwen2.5Coder智能问答升级到最新Qwen2.5Coder模型,编程性能和效率均实现大幅提升,其旗舰代码模型在十余项基准评测中均取得开源最佳成绩,成为......
  • 上传图片
    基于el-upload的上传组件,包含宽高比大小等校验<!--*@description图片上传!--><template><divclass="upload-image-box"><el-uploadv-bind="$attrs"class="avatar-uploader":ac......
  • 微信小程序上传图片报错:uploadFile:fail url not in domain list
    上传图片时,在微信开发工具中可以正常上传成功,手机上预览也可上传成功。小程序发布成功后,上传失败,提示“uploadFile:failurlnotindomainlist”。错误信息如下:解决方案:1、在微信管理公众平台|小程序-开发-开发管理-服务器域名下的服务器配置uploadFile合法域名,没有添加服务器......
  • 智能问答模型升级,通义灵码新增图片多模态问答模式等新能力,项目秒上手
    通义灵码智能问答模型升级Qwen2.5Coder、输入交互升级并丰富上下文支持,全新支持多模态图片问答模式等。1.智能问答模型升级到最新Qwen2.5Coder智能问答升级到最新Qwen2.5Coder模型,编程性能和效率均实现大幅提升,其旗舰代码模型在十余项基准评测中均取得开源最佳成绩,成为......
  • 在DevExpress GridControl的一列中显示图片
    该做法在滑动过快的情况下可能会出现卡死 设置columproperties属性1.FieldName设定命名(该字符串必须唯一)2.ColumnEdit设置PirtureEdit3.UnboundType设置Object  在MainView的数据表中添加事件columnUnboundColumnData图片在单元格中显示调整设置 repository-......
  • 爬虫 - 爬取王者荣耀所有皮肤图片
    结果展示安装pipinstallrequestslogger代码importjsonimportosimportrefromconcurrent.futuresimportThreadPoolExecutorimportrequestsfromloguruimportloggerdefparse_url(url,b=False):try:headers={"User-Agent":"......
  • 【静态网页模板源码】000042 响应式可换色图片网站模板网站-响应式 (附源码)
    前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏+关注哦......
  • 用数据万象转换图片格式!超全的格式一键转换
    你是否曾对如何预览PSD、RAW等奇奇怪怪的图片格式感到束手无策?是否在相机原生格式预览等场景中遭遇难题?别担心,数据万象图片处理来帮您解决!数据万象现已支持PSD、RAW等高级格式图片的格式转换功能,可以将它们转为JPG/PNG等普通格式,满足您对高级格式图片预览的需求。高级图片......
  • timeago.js-将datetime时间转化为模糊时间的js工具库
    timeago.js是一个非常简洁、轻量级、不到2kb的很简洁的Javascript库,用来将datetime时间转化成类似于***时间前的描述字符串,例如:“3小时前”。本地化支持,默认自带中文和英文语言,基本够用;之前xxx时间前、xxx时间后;支持自动实时更新;支持npm方式和浏览器script方式;测试用......