整合營銷服務商

          電腦端+手機端+微信端=數據同步管理

          免費咨詢熱線:

          html開發(fā)筆記15-圖片標簽-向網頁添加圖片

          、圖片標簽是用 <img> 單標簽來定義:

          作用是向網頁中添加圖片,并且img標簽有多個可用參數可以添加。

          二、代碼演示

          維網和其它網絡類型最大的區(qū)別就是它在網頁上可呈現豐富多彩的色彩和圖像,還可以播放音頻、視頻,及把圖像作為鏈接使用。

          一、圖片格式

          網絡上流行的圖片格式主要有jpg、jpeg、png、gif等,以下是這幾種格式的介紹。

          1、gif格式

          gif采用LZW壓縮,是以壓縮相同顏色色塊來減少圖像大小。由于LZW壓縮不會造成任何品質的損失,且壓縮率高,支持動畫效果,很適合互聯網平臺,但是它只支持256種顏色。

          2、jpg或jpeg格式

          以JPEG有損壓縮圖片,通常用來保存超過256色的圖片格式。JPEG壓縮過程會對一些圖像數據造成損失,這部分損失不影響圖片顯示,一般人眼是看不出來差異的。損失數據越多,圖片就越不清晰。

          3、png格式

          png是一種非破壞性的網頁圖像文件格式,它以最小的方式壓縮圖片且不造成圖片數據損失。它不僅支持像gif大部分優(yōu)點,還支持48 bit的色彩,跨平臺的圖像亮度控制,更多層的透明度設置。

          二、使用圖片

          網頁中通過<img>標簽插入圖片,語法如下:

          <img src="圖片路徑" alt="替換文本" />

          具體示例:

          <!DOCTYPE HTML>
          <html>
          <body>
          <p>
          一幅圖像:
          <img src="/i/eg_mouse.jpg" width="128" height="128" />
          </p>
          <p>
          一幅動畫圖像:
          <img src="/i/eg_cute.gif" width="50" height="50" />
          </p>
          <p>請注意,插入動畫圖像的語法與插入普通圖像的語法沒有區(qū)別。</p>
          </body>
          </html>

          效果如下:

          替換文本屬性(Alt)

          alt 屬性用來為圖像定義一串預備的可替換的文本。

          <img src="boat.gif" alt="Big Boat">

          當瀏覽器無法載入圖像時,替換文本屬性可告訴讀者他們失去的信息。此時,瀏覽器將顯示這個替代性的文本而不是圖像。為頁面上的圖像都加上替換文本屬性是個好習慣,這樣有助于更好地顯示信息,并且對于那些使用純文本瀏覽器的人來說是非常有用的。

          圖像寬度和高度屬性

          如下代碼,在網頁中插入一個寬度和高度都是300像素的圖片。

          <img src="/i/ct_netscape.jpg" width="300px" height="300px" />

          圖片超鏈接

          如下代碼,在網頁中對一個圖片進行超鏈接設置,點擊這張圖片就會跳轉到其它頁面。

          <a href="頁面路徑"><img src="/i/ct_netscape.jpg" /></a>

          創(chuàng)建圖像熱區(qū)鏈接

          除了對整個圖片進行超鏈接設置外,還可以將圖像劃分成不同區(qū)域進行鏈接設置,比如一張地圖中給每個省份圖形進行超鏈接。

          圖像熱區(qū)鏈接,使用usemap 屬性通過#name指定到名叫name的map元素上,map定義了每個熱區(qū)點擊區(qū)域形狀、大小、坐標等。
          area標簽的 shape 屬性有三種,rect 方形,circle 圓形,poly 多邊形。coords 屬性定義坐標點位置,相對于圖片左上角位置。

          示例代碼:

          <!DOCTYPE html>
          <html>
          <head>
          <meta charset="utf-8">
          <title>W3Cschool(w3cschool.cn)</title>
          </head>
          <body>
          <p>點擊太陽或其他行星,注意變化:</p>
          <img src="/statics/images/course/planets.gif" width="145" height="126" alt="Planets" usemap="#planetmap">
          <map name="planetmap">
            <area shape="rect" coords="0,0,82,126" target="_blank" alt="Sun" href="/statics/images/course/sun.gif">
            <area shape="circle" coords="90,58,3" target="_blank" alt="Mercury" href="/statics/images/course/merglobe.gif">
            <area shape="circle" coords="124,58,8" target="_blank" alt="Venus" href="/statics/images/course/venglobe.gif">
          </map>
          </body>
          </html>

          效果可參考 https://www.w3cschool.cn/html5/html5-img.html 這里。

          可以看到鼠標在圖片上點擊小行星會打開對應的圖片。

          到此網頁中使用圖片已經大體介紹了,自己親手寫下,會加深印象,感謝關注。

          上篇:前端入門——html 超鏈接

          下篇:前端入門——html 如何在網頁中使用視頻音頻

          JavaScript中,您可以使用HTML5的<input type="file">元素來實現圖片上傳功能。

          以下是一個簡單的示例代碼,演示如何在JavaScript中上傳圖片:

          HTML部分:

          <input type="file" id="uploadInput">
          <button onclick="uploadImage()">上傳圖片</button>
          

          JavaScript部分:

          function uploadImage() {
            var fileInput = document.getElementById('uploadInput');
            var file = fileInput.files[0];
          
            if (file) {
              var formData = new FormData();
              formData.append('image', file);
          
              // 發(fā)送圖片數據到服務器
              // 這里可以使用XMLHttpRequest或fetch等方法發(fā)送請求
              // 請根據您的需求選擇適當的方法
              // 示例中使用XMLHttpRequest發(fā)送POST請求
              var xhr = new XMLHttpRequest();
              xhr.open('POST', '/upload', true);
              xhr.onload = function() {
                if (xhr.status === 200) {
                  // 上傳成功
                  console.log('圖片上傳成功');
                } else {
                  // 上傳失敗
                  console.log('圖片上傳失敗');
                }
              };
              xhr.send(formData);
            }
          }
          

          API部分:

          [HttpPost]
          [RequestSizeLimit(5242880)]
           public async Task<APIResult> upload(IFormCollection collection)
           {
          
                      APIResult rtn = new APIResult();
          
                      if (collection == null)
                      {
                          rtn.code = -100;
                          rtn.msg = "圖片列表為空";
                          return rtn;
                      }
                      else
                      {
                          try
                          {
                              string file_path = "";
                              // 預處理 用戶參數:用戶指定子路徑                   
                              string userPath = DateTime.Now.ToString("yyyy-MM-dd");
                              if (collection.ContainsKey("path"))
                              {
                                  collection.TryGetValue("path", out Microsoft.Extensions.Primitives.StringValues val);
                                  if (!val.Equals("undefined"))
                                  {
                                      userPath = val.ToString();
                                  }
                              }
          
                              // 預處理 文件路徑
                              // 注意:這里可能會根據不同的環(huán)境來 修改 路徑前面是否需要添加 /
                              // 當發(fā)現上傳不成功,目錄無法創(chuàng)建時,可以嘗試修改這里
                              file_path = $"upload/imgs/{userPath}/";
                              var uploadPath = Path.Combine(_webHostEnvironment.WebRootPath, file_path);
                              if (!Directory.Exists(uploadPath))
                              {
                                  Directory.CreateDirectory(uploadPath);
                              }
          
                              // 處理文件
                              FormFileCollection filelist = (FormFileCollection)collection.Files;
                              foreach (IFormFile file in filelist)
                              {
                                  // 保存文件到磁盤
                                  string name = file.FileName;
                                  string FilePath = Path.Combine(uploadPath, name);
                                  string type = Path.GetExtension(name);
                                  using (var stream = System.IO.File.Create(FilePath))
                                  {
                                      await file.CopyToAsync(stream);
                                  };
          
                                  // 保存文件信息到表
                                  Sys_File f = new Sys_File();
                                  f.code = "image";
                                  f.name = name;
                                  f.file_type = type.Trim('.');
                                  f.file_group = userPath;
                                  f.file_path = $"/{file_path}{name}";
                                  f.is_active = true;
                                  f.memo = "";
                                  f.createTime = DateTime.Now;
                                  using (var dbctx = DBHelper.db)
                                  {
                                      await dbctx.AddAsync(f);
                                      await dbctx.SaveChangesAsync();
                                  };
                                  // 返回消息,包含文件路徑
                                  rtn.datas = $"/{file_path}{name}";
                                  rtn.code = 100;
                                  rtn.msg = "文件已保存!";
                              }
                          }
                          catch (Exception ex)
                          {
                              rtn.code = -200;
                              rtn.msg = "圖片保存失敗!";
                              Log4NetUnit.Instance.Log.Error("圖片保存失敗:" + ex.Message);
                          }
                          return rtn;
                      }
                  }


          在這個示例中,我們首先在HTML中創(chuàng)建了一個<input type="file">元素,用于選擇要上傳的圖片。

          然后,我們在JavaScript中編寫了一個uploadImage函數,該函數在點擊"上傳圖片"按鈕時觸發(fā)。

          uploadImage函數中,我們首先獲取到<input>元素,并從中獲取到用戶選擇的圖片文件。

          然后,我們創(chuàng)建一個FormData對象,并將圖片文件添加到其中。

          接下來,我們可以使用XMLHttpRequest或fetch等方法將圖片數據發(fā)送到服務器。

          在示例中,我們使用XMLHttpRequest發(fā)送了一個POST請求,將圖片數據作為FormData發(fā)送到/upload端點。

          您需要根據您的實際情況修改URL和請求方法。

          當請求完成時,我們可以根據響應的狀態(tài)碼來判斷上傳是否成功。

          在示例中,如果狀態(tài)碼為200,則表示上傳成功,否則表示上傳失敗。

          請注意,由于安全性限制,JavaScript無法直接訪問用戶的文件系統(tǒng)。

          因此,用戶必須手動選擇要上傳的文件。


          主站蜘蛛池模板: 区三区激情福利综合中文字幕在线一区亚洲视频1 | 亚洲AV无码一区二区三区鸳鸯影院| 波多野结衣高清一区二区三区| 无码国产亚洲日韩国精品视频一区二区三区 | 国产伦精品一区二区三区视频小说 | 91秒拍国产福利一区| 亚洲一区二区三区高清视频| 国产精华液一区二区区别大吗| 精品一区二区三区色花堂| 毛片无码一区二区三区a片视频| 国内精自品线一区91| 国产在线一区视频| 精品少妇人妻AV一区二区三区| AV鲁丝一区鲁丝二区鲁丝三区 | 亚洲欧美日韩一区二区三区在线 | 久久久久一区二区三区| 国精产品一区一区三区| 一区二区三区四区精品| 亚洲国产激情一区二区三区 | 日韩一区二区在线播放| 精品无码一区二区三区爱欲九九| 国产香蕉一区二区在线网站| 一区二区在线视频观看| 久久精品国产AV一区二区三区| 四虎成人精品一区二区免费网站| 国产综合无码一区二区辣椒| 亚洲精品伦理熟女国产一区二区| 日韩毛片基地一区二区三区| 精品无码综合一区| 一本一道波多野结衣一区| 中文字幕一区二区在线播放| 日韩成人一区ftp在线播放| 一区二区三区视频在线观看| 国产在线观看91精品一区| 毛片一区二区三区| 伊人色综合网一区二区三区 | 国产精品一区二区AV麻豆| 亚洲熟女一区二区三区| 糖心vlog精品一区二区三区| 一区二区三区无码被窝影院| 午夜DV内射一区区|