C#获取互联网图片并设置宽高

1个回答
展开全部
摘要 在C#中,您可以使用System.Net.WebClient类来获取互联网上的图片,并使用System.Drawing.Image类来设置宽度和高度。以下是一个示例代码:
using System;
using System.Net;
using System.Drawing;
class Program
static void Main()
{
string imageUrl = "https://example.com/image.jpg"; // 替换为您需要获取的图片的URL
// 使用WebClient获取图片数据
WebClient webClient = new WebClient();
byte[] imageData = webClient.DownloadData(imageUrl);
// 创建一个MemoryStream对象以加载图片数据
using (var ms = new System.IO.MemoryStream(imageData))
{
// 使用Image.FromStream方法将数据加载到Image对象中
using (var image = Image.FromStream(ms))
{
int newWidth = 500; // 设置新的宽度
int newHeight = 300; // 设置新的高度
// 创建新的Bitmap对象并调整大小
using (var resizedImage = new Bitmap(newWidth, newHeight))
{
using (var g = Graphics.FromImage(resizedImage))
{
// 设置绘图质量
咨询记录 · 回答于2024-01-15
C#获取互联网图片并设置宽高
在C#中,您可以使用`System.Net.WebClient`类来获取互联网上的图片,并使用`System.Drawing.Image`类来设置宽度和高度。以下是一个示例代码: using System; using System.Net; using System.Drawing; class Program static void Main() { string imageUrl = "https://example.com/image.jpg"; // 替换为您需要获取的图片的URL // 使用WebClient获取图片数据 WebClient webClient = new WebClient(); byte[] imageData = webClient.DownloadData(imageUrl); // 创建一个MemoryStream对象以加载图片数据 using (var ms = new System.IO.MemoryStream(imageData)) { // 使用Image.FromStream方法将数据加载到Image对象中 using (var image = Image.FromStream(ms)) { int newWidth = 500; // 设置新的宽度 int newHeight = 300; // 设置新的高度 // 创建新的Bitmap对象并调整大小 using (var resizedImage = new Bitmap(newWidth, newHeight)) { using (var g = Graphics.FromImage(resizedImage)) { // 设置绘图质量 g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality; g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality; // 这里添加后续代码来设置具体的图像绘制选项... } } } } }
// 确保您已经添加了对System.Net和System.Drawing命名空间的引用 // 将imageUrl变量替换为您需要获取的图片的URL // 该示例会下载图片数据,调整大小并保存到 "resized_image.jpg" 文件中 // 您还可以根据自己的需求进行进一步的处理和操作 g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic; g.DrawImage(image, 0, 0, newWidth, newHeight); // 将调整大小后的图片保存到文件或其他操作 resizedImage.Save("resized_image.jpg");
需要C# 代码实现 获取互联网图片,并按比例设置宽高,并使用spire.xls for .net 将图片设置到excel表格的单元格
您可以使用以下的C#代码来获取互联网图片、按比例设置宽高,并使用Spire.XLS for .NET将图片设置到Excel表格单元格: 首先,您需要确保已经安装了Spire.XLS for .NET。可以通过NuGet包管理器或从官方网站[https://www.e-iceblue.cn/Download/xls-for-net.html下载并安装Spire.XLS。 然后,您可以使用下面的示例代码来实现您的需求: using Spire.Xls; using System.Net; class Program { static void Main() { // 创建新的Excel文档对象 Workbook workbook = new Workbook(); Worksheet worksheet = workbook.Worksheets[0]; // 设置单元格尺寸 worksheet.StandardWidth = 20; // 获取互联网图片 string imageUrl = "https://example.com/image.jpg"; WebClient webClient = new WebClient(); byte[] imageData = webClient.DownloadData(imageUrl); // 按比例计算图片尺寸 double targetWidth = 200; // 目标宽度 double targetHeight = 0; // 根据宽度计算的目标高度 ImageSize(targetWidth, imageData, out targetWidth, out targetHeight); // 将图片设置到Excel单元格 int rowIndex = 1; int columnIndex = 1; worksheet.Pictures.Add(rowIndex, columnIndex, targe
// 保存Excel文档 workbook.SaveToFile("output.xlsx", FileFormat.Version2013); static void ImageSize(double targetWidth, byte[] imageData, out double width, out double height) using (System.Drawing.Image image = System.Drawing.Image.FromStream(new System.IO.MemoryStream(imageData))) { double aspectRatio = (double)image.Width / image.Height; width = targetWidth; height = targetWidth / aspectRatio; } 请注意,代码中的imageUrl变量应该替换为您要获取的实际图片URL。另外,您需要根据您的实际需求进行适当的调整和修改。这是一个基本的示例,展示了如何使用Spire.XLS for .NET将互联网图片添加到Excel表格单元格中,并按照比例设置宽高。您可以根据自己的需要进一步扩展和优化代码。
这段代码没有完善,target这个变量不存在
怎么啦亲
如上截图,第一段的代码显然不完整,而且
而且什么,亲
已赞过
你对这个回答的评价是?
评论 收起
下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消