【C#】制作圖集

如題目,用好幾個圖片拼在一個大圖里,博主是用于Unity游戲開發使用的,話不多說,上代碼!

using System;
using System.Collections.Generic;
using System.Drawing;
using System.Drawing.Imaging;namespace EffectsPackTool.Common
{/// <summary>/// 圖集處理共通方法/// </summary>public static class SpriteSheet{/// <summary>/// 創建圖集/// </summary>/// <param name="imagePaths">圖片地址集</param>/// <param name="outputPath">輸出路徑</param>/// <param name="maxWidth">畫布最大寬度</param>/// <param name="maxHeight">畫布最大高度</param>/// <param name="imageMaxHeight">圖片最大高度</param>public static bool CreateSpriteSheet(IEnumerable<string> imagePaths, string outputPath, int maxWidth, int maxHeight, int imageMaxHeight){try{using (Bitmap spriteSheet = new Bitmap(maxWidth, maxHeight)){using (Graphics g = Graphics.FromImage(spriteSheet)){g.Clear(Color.Transparent); // 如果需要透明背景可以設置int currentHeight = 0;int currentWidth = 0;foreach (string imagePath in imagePaths){using (Image image = Image.FromFile(imagePath)){// 檢查是否超出最大寬度,如果是,則移至下一行if (image.Width + currentWidth > maxWidth){currentHeight += imageMaxHeight;currentWidth = 0;}// 繪制圖像到sprite sheetg.DrawImage(image, new Point(currentWidth, currentHeight));// 更新當前寬度currentWidth += image.Width;}}}// 保存sprite sheet到指定路徑spriteSheet.Save(outputPath, ImageFormat.Png);}return true;}catch (Exception ex){return false;}}}
}

沒什么好說的 拿去直接用就行

完結!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/36806.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/36806.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/36806.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Spring Boot中的安全性配置詳解

Spring Boot中的安全性配置詳解 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天我們將深入探討如何在Spring Boot應用中實現全面的安全性配置&#xff0c;保…

LED裸眼3D顯示屏:開啟視覺新體驗

隨著科技的不斷進步&#xff0c;LED顯示屏作為一種新型的顯示技術&#xff0c;已經被廣泛應用于各個領域。而其中&#xff0c;LED裸眼3D顯示屏更是因其獨特的技術原理和令人震撼的視覺效果&#xff0c;成為了業界關注的焦點。 裸眼3D顯示屏是一種前沿的顯示技術&#xff0c;它…

centos系統中neo4j數據庫和python環境部署

最近因為項目需要&#xff0c;到了一個純局域網環境中進行知識圖譜構建。對于小規模數據&#xff0c;neo4j社區版能夠滿足基本的建模和查詢需要&#xff08;大規模數據需要商業版&#xff0c;或是選用其他開源分布式圖數據庫如nebula等&#xff09;。本文主要介紹圖數據庫和pyt…

黃金架構編譯部署

LNMP黃金架構部署 行走的CD: LNMP的解析過程:提到 LNMP的解析過程&#xff0c;我們應需要了解一個概念 CGI&#xff0c; CGI 就是指一個通用網關接口&#xff0c;用于 HTTP 服務器和其他應用服務器通訊的一個工具&#xff0c;在這 HTTP 服務器一般咱們就是指的是 Nginx、 Apac…

Java | Leetcode Java題解之第201題數字范圍按位與

題目&#xff1a; 題解&#xff1a; class Solution {public int rangeBitwiseAnd(int m, int n) {while (m < n) {// 抹去最右邊的 1n n & (n - 1);}return n;} }

獲取當前操作系統的名稱platform.system()

【小白從小學Python、C、Java】 【考研初試復試畢業設計】 【Python基礎AI數據分析】 獲取當前操作系統的名稱 platform.system() [太陽]選擇題 在Python中&#xff0c;platform.system() 函數被用來獲取什么信息&#xff1f; import platform print("【執行】platform.s…

如何在Java中實現自定義數據結構

如何在Java中實現自定義數據結構 大家好&#xff0c;我是免費搭建查券返利機器人省錢賺傭金就用微賺淘客系統3.0的小編&#xff0c;也是冬天不穿秋褲&#xff0c;天冷也要風度的程序猿&#xff01;今天我將為大家介紹如何在Java中實現自定義數據結構。盡管Java提供了豐富的內置…

05 threeJs基礎---陣列立方體和相機適配體驗立方體

1.增加相機視角fov 注&#xff1a; 范圍更大&#xff0c;意味著可以看到渲染范圍更大&#xff0c;遠小近大的視覺效果更明顯 fov:眼球張開的角度&#xff0c;0時相當于閉眼。aspect:可視區域橫縱比。near:眼睛能看到的最近垂直距離。far&#xff1a;眼睛能看到的最遠垂直距離。…

Python中的@property裝飾器:深入理解與應用

Python中的property裝飾器&#xff1a;深入理解與應用 在Python中&#xff0c;property裝飾器是一個強大的工具&#xff0c;它允許我們將方法作為屬性來訪問&#xff0c;使得代碼更加簡潔、清晰&#xff0c;并提供了更好的封裝性。本文將深入探討property裝飾器的工作原理、應…

字節數組輸出流轉換為Base64方法記錄

1. 今天在做字節數組轉換Base64的時候遇到一個問題&#xff0c;轉換成的Base64字符串自動換行&#xff0c;導致傳輸失敗 關鍵代碼&#xff1a; ByteArrayOutputStream out new ByteArrayOutputStream(); ............. BASE64Encoder encoder new BASE64Encoder(); Stri…

Python 3 循環語句

Python 3 循環語句 Python 是一種廣泛使用的高級編程語言,以其簡潔明了的語法和強大的功能而聞名。在 Python 中,循環語句是控制程序流程的關鍵組成部分,它們允許我們重復執行代碼塊,直到滿足特定的條件。Python 3 提供了幾種循環語句,包括 for 循環和 while 循環,以及一…

由于沒有遠程桌面授權服務器怎么辦?

在現代的工作環境中&#xff0c;遠程訪問和遠程桌面控制已經成為一項日益重要的需求。隨著企業和組織的擴張&#xff0c;人們經常需要在不同的地點之間共享文件和應用程序。由于缺乏遠程桌面授權服務器&#xff0c;這一過程可能會變得困難和不安全。 遠程桌面授權服務器是一種…

day02-登錄模塊-主頁鑒權

提示&#xff1a;文章寫完后&#xff0c;目錄可以自動生成&#xff0c;如何生成可參考右邊的幫助文檔 文章目錄 1.分析登錄流程1.1傳統思路是登錄校驗通過之后&#xff0c;直接調用接口&#xff0c;獲取token之后&#xff0c;跳轉到主頁1.2vue-element-admin模板的登錄思路&…

信息(文字、圖像、音頻、視頻等)在計算機中是如何存儲及顯示的

信息&#xff08;文字、圖像、音頻、視頻等&#xff09;在計算機中是如何存儲及顯示的 圖片的存儲圖片的文件格式像素數據的二進制表示存儲和處理顯示總結 圖片的顯示4. 像素點控制具體的像素控制過程示例總結 如題&#xff0c;這里以圖片為例。 圖片的存儲 計算機桌面上的一…

基于盲信號處理的聲音分離-基于改進的信息最大化的ICA算法

基于信息最大化的ICA算法的主要依據是使輸入端與輸出端的互信息達到最大&#xff0c;且輸出各個分量之間的相關性最小化&#xff0c;即輸出各個分量之間互信息量最小化&#xff0c;其算法的系統框圖如圖所示。 基于信息最大化的ICA算法的主要依據是使輸入端與輸出端的互信息達到…

華僑大學24計算機考研數據速覽,專碩22408復試線290分,學碩11408接收調劑!

華僑大學計算機專業創建于1980年&#xff0c;是福建省最早設立計算機專業的高校之一。1982年成立計算機系&#xff0c;2008年成立計算機科學與技術學院。根據“華僑大學計算機科學與技術學院網站”資料&#xff0c;該院有計算機科學與技術、軟件工程、網絡工程3個本科專業&…

java中常見數據結構

ArrayList 是 Java 集合框架&#xff08;Java Collections Framework&#xff09;中的一個重要類&#xff0c;它實現了 List 接口&#xff0c;并提供了動態數組的功能。以下是 ArrayList 上的一些常用方法&#xff1a; 構造方法&#xff1a; ArrayList<E>(): 構造一個空的…

git基本使用(二):git分支的操作命令

Git 的多分支管理是指在同一個倉庫中創建和管理多個分支&#xff0c;每個分支可以獨立開發&#xff0c;互不干擾。分支是 Git 中的一種強大功能&#xff0c;允許開發人員同時在多個不同的功能、修復或實驗上工作&#xff0c;而不會影響主分支或其他分支。通過多分支管理&#x…

spring-boot-starter-json配置對象屬性為空不顯示

問題背景 在Spring Boot中使用spring-boot-starter-json&#xff08;通常是通過jackson實現的&#xff09;時&#xff0c;如果你希望在序列化對象時&#xff0c;如果某個屬性為空&#xff0c;則不顯示該屬性&#xff0c;你可以使用JsonInclude注解來實現這一點。 pom.xml <…

Java數據結構算法(最長遞增序列二分查找)

前言: 最長遞增子序列&#xff08;Longest Increasing Subsequence, LIS&#xff09;是指在一個給定的序列中&#xff0c;找到一個最長的子序列&#xff0c;使得這個子序列中的元素是單調遞增的。子序列不要求在原序列中連續。 實現原理 使用一個 tails 列表&#xff0c;其中…