圖片管理程序(Java)

圖片管理程序

gitee完整代碼下載
github完整代碼下載
華南農業大學課程設計作品(99分)
在這里插入圖片描述

問題描述

題目目的是編寫一個能夠對數字像片進行管理的應用程序。 程序能夠顯示的圖片格式包括,.JPG、.JPEG、.GIF、.PNG、和.BMP。 圖像文件尺寸,要求能夠處理從幾十 K 到幾 M 的各種大小的圖片。

系統功能分析

1.2.1 系統的主要功能

有目錄樹(顯示系統磁盤目錄) 圖片的預覽(展示縮略圖、縮略圖包含圖片、文件名且保持比例) 支持規定的圖片格式(.JPG、.JPEG、.GIF、.PNG、和.BMP。) 選擇圖片(單張多張,鼠標選擇一個區域) 圖片刪除(選擇圖片之后可以進行刪除) 圖片復制(選擇圖片之后可以進行復制) 圖片重命名功能(選擇圖片之后可以進行單個或者批量重命名) 窗口中顯示一張圖片和一個功能欄。

進入圖片展示窗口的方式

第 1 種方式是鼠標左鍵雙擊任意一個縮略圖進入該窗口并顯示 雙擊的圖片。第 2 種是在設計一個按鈕,點擊進入該窗口并顯示當前 圖片預覽目錄中的第 1 張圖。 1.2.3 圖片展示窗口基本功能 圖片的放大縮小功能,鼠標點擊功能欄中這“放大”和“縮小” 按鈕可以對圖片進行放大和縮小。 切換圖片功能,鼠標點擊功能欄“左”和“右”按鈕,可以將顯 示的圖片切換到當前預覽目錄中的前一張和后一張圖片。 幻燈片播放功能,在功能欄中設計一個“播放”按鈕,點擊該按 鈕可以從當前顯示圖片開始自動以確定的間隔時間(如 1 秒)切換顯 示圖片。有退出播放功能。

開發平臺及工具介紹

系統總體結構設計

項目由 3個主要界面組成:

1.1.1 圖片文件預覽窗口

圖片文件預覽窗口界面中的構建在 ui包中的 MainUi類中進行。 圖片文件預覽窗口界面中的功能依賴于 mainuiutil 包中的工具類以 及在staticutil包中的 MainUtil中的靜態方法實現。

1.1.2 圖片展示窗口

圖片展示窗口的構建在 ui包中的 ImageShowUi 類中進行。 圖片展示窗口中的功能依賴于 imageshowuiutil 包中的工具類實現。

1.1.3 圖片編輯窗口

圖片編輯窗口由 imageshowuiutil 包中的工具類被調用時構建出來。

系統各個類及類之間關系設計

各個類之前的關系

MainUi 類為主界面的構建類,MainUi類對主界面進行初始化以及 對一些必要的組件進行加載,例如構建目錄樹,顯示縮略圖。當主界 面的功能按鍵被點擊時,對其對應的工具類進行調用。當要進入圖片 展示窗口時,調用 ImageShowUi 類構建圖片展示窗口,當入圖片展 示窗口的功能按鍵被點擊時,對其對應的工具類進行調用。

實現功能

  • 1:支持規定的圖片格式
  • 2:目錄樹實現且操作正常
  • 3:縮略圖包含圖片、文件名且保持比例
  • 4:點擊目錄顯示縮略圖及個數
  • 5:縮略圖復制粘貼
  • 6:縮略圖單選
  • 7:縮略圖單個重命名
  • 8:縮略圖多選
  • 9:縮略圖批量重命名
  • 10:縮略圖刪除
  • 11:圖片展示的圖片切換
  • 12:圖片展示的圖片放大縮小
  • 14:幻燈片播放
  • 15:6種濾鏡功能以及保存
  • 16:截圖并保存功能
  • 17:圖片旋轉功能
  • 18:水印添加
  • 19:圖片按比例調整
  • 20:按長寬壓縮圖片
  • 21:圖片格式轉換
  • 22:壓縮圖片

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

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

相關文章

氣流與路易吉,阿戈,MLFlow,KubeFlow

任務編排工具和工作流程 (Task orchestration tools and workflows) Recently there’s been an explosion of new tools for orchestrating task- and data workflows (sometimes referred to as “MLOps”). The quantity of these tools can make it hard to choose which o…

移動WEB開發之JS內置touch事件[轉]

iOS上的Safari也支持click 和mouseover等傳統的交互事件,只是不推薦在iOS的瀏覽器應用上使用click和mouseover,因為這兩個事件是為了支持鼠標點擊而設計 出來的。Click事件在iOS上會有半秒左右的延遲,原因是iOS要highlight接收到click的eleme…

編寫代碼的軟件用什么編寫的_如何通過像編寫代碼一樣克服對編寫的恐懼

編寫代碼的軟件用什么編寫的by Chris Rowe通過克里斯羅 How often do you get the fear? What do I mean by fear? How about the knot I got in my stomach just before I plunged out of plane on a parachute jump? It’s more than the brain logically planning to av…

快速學習一個新的模塊

1、模塊名.__doc__查看函數簡介,為了便于查看,采用print(模塊名.__doc__)打印出來,這樣的格式便于查看。 2、采用內置方法dir()查看模塊的變量、函數、類等等;采用"模塊名.__all__"查看模塊中提供…

php 公鑰格式轉換,如何把OpenSSH公鑰轉換成OpenSSL格式

《如何把OpenSSH公鑰轉換成OpenSSL格式》要點:本文介紹了如何把OpenSSH公鑰轉換成OpenSSL格式,希望對您有用。如果有疑問,可以聯系我們。首先看看OpenSSL工具的簡單使用方法,我們以rsa加密算法為例生成一個私鑰:openssl genrsa -o…

模擬操作系統(Java)

gitee完整代碼下載 github完整代碼下載 一、 需求分析 模擬一個采用多道程序設計方法的單用戶操作系統,該操作系統包括進程管理、存儲管理、設備管理、文件管理和用戶接口四部分。預計程序所能達到的功能: 進程管理模擬:實現操作系統進程管…

數據庫面試復習_數據科學面試復習

數據庫面試復習大面試前先刷新 (REFRESH BEFORE THE BIG INTERVIEW) 介紹 (Introduction) I crafted this study guide from multiple sources to make it as comprehensive as possible. This guide helped me prepare for both the technical and behavioral aspects of the …

hibernate緩存

(轉自:http://www.cnblogs.com/java-class/p/6108175.html) 閱讀目錄 1. 為什么要用 Hibernate 緩存?2. 項目實戰3. Hibernate 緩存原理回到頂部1. 為什么要用 Hibernate 緩存? Hibernate是一個持久層框架,…

oracle 連接greenplum,Oracle通過DBLINK訪問GreenPlum

為多個數據庫之間的整合和遷移做POC,嘗試使用Oracle Gateway和Heterogeneous Service來中轉訪問,測試過好多次,最終發現只有在32位的Oracle當中才能成功配置。 配置環境如下: Windows 2003 32bit 或 Windows 2008 64bit Oracle10G…

如何使用React和Redux前端創建Rails項目

by Mark Hopson馬克霍普森(Mark Hopson) 如何使用React和Redux前端(加上Typescript!)創建Rails項目 (How to create a Rails project with a React and Redux front-end (plus Typescript!)) 在Rails項目中使用React和Redux設置單頁Javascript App的完整指南。 (A …

分布與并行計算—用任務管理器畫CPU正弦曲線(Java)

class drawSin implements Runnable{Overridepublic void run() {final double SPLIT 0.01;// 角度的分割final int COUNT (int) (2 / SPLIT);// 2PI分割的次數,也就是2/0.01個,正好是一周final double PI Math.PI;final int interval 100;// 時間間…

Rails文件上傳file_field報錯Encoding::UndefinedConversionError

服務器用的是ubuntu12 64bit,環境是ruby1.9.3rails3mysql,測試是在windows2003上。 上傳一個【.gitconfig】文件,沒有問題,上傳【新浪微博數據挖掘.pdf】報錯,上傳【back.jpg】報錯。 下面是兩段信息,是從【…

好久不來這里寫東西了.

我正準備離開學校去實現自己的目標,很清楚自己在學校的... ...做共享程序員,就不得不考慮些商業上的東西,自己要吃飯啊!我想我是該好好的處理一下這二者的關系. 轉載于:https://www.cnblogs.com/wangxiang/archive/2007/01/01/609714.html

Asp.net mvc中使用配置Unity

第一步:添加unity.mvc 第二步:在添加之后會在app_start中生成UnityConfig.cs,UnityMvcActivator.cs 第三步:使用 第四步:效果展示 轉載于:https://www.cnblogs.com/WJ--NET/p/7117839.html

頂級數據恢復_頂級R數據科學圖書館

頂級數據恢復Data science is the discipline of making data useful數據科學是使數據有用的學科 When we talk about the top programming language for Data Science, we often find Python to be the best fit for the topic. Sure, Python is undoubtedly an excellent cho…

xp系統oracle數據庫,Oracle10g 數據庫的安裝基于windowsXP

Oracle的安裝一、首先去官網下載自身系統相對應的數據庫軟件http://www.oracle.com/cn/index.htmlOracle軟件本身是免費的,個人用途完全沒關系,商業用途并被發現才會被Oracle所要求收費,收費買的不是軟件,而是授權。何謂授權&…

了解React Native中的不同JavaScript環境

by Khoa Pham通過Khoa Pham 了解React Native中的不同JavaScript環境 (Get to know different JavaScript environments in React Native) React Native can be very easy to get started with, and then at some point problems occur and we need to dive deep into it.Reac…

分布與并行計算—生命游戲(Java)

生命游戲其實是一個零玩家游戲,它包括一個二維矩形世界,這個世界中的每個方格居住著一個活著的或死了的細胞。一個細胞在下一個時刻生死取決于相鄰八個方格中活著的或死了的細胞的數量。如果相鄰方格活著的細胞數量過多,這個細胞會因為資源匱…

正確認識 Vista 激活期限

當我們在安裝 Vista 時,可以不輸入序列號進行安裝,這和以往的操作系統安裝有所不同,我們不必再為安裝系統時找不到我們的序列號標簽而發愁。如果不輸入序列號而繼續安裝系統,那么系統將提示我們有30天的激活期限!這里的…

Oracle使用hs odbc連接mssql2008

1.創建odbc 2.在 product\11.2.0\dbhome_1\hs\admin\ 下拷貝initdg4odbc,把名字改為initcrmsql(init所建odbc的名稱) HS_FDS_CONNECT_INFO crmsql #odbc名稱 HS_FDS_TRACE_LEVEL 0 HS_FDS_RECOVERY_ACCOUNTsa #要連接的數據庫名稱 HS_FDS_RECOVERY_PWD…