1.盘点23个提高开发效率和美观性的图片 VSCode 插件!
2.我做了个chatPPT(含源码和prompt)
3.哪些是值得在Cydia越狱商店下载的插件源码?
4.如何通过c#读写(JPG格式)的摘要信息
盘点23个提高开发效率和美观性的 VSCode 插件!
VSCode插件集合,提升开发效率与美观性 VSCode是主题一款功能强大的源代码编辑器,提供了语法高亮、源码代码自动补全、图片代码重构等功能,主题内置命令行工具与Git版本控制,源码入门app源码支持多种编程语言与调试功能。图片本文为您推荐款VScode插件,主题涉及美观、源码编程、图片效率等多个方面,主题满足不同开发需求。源码 美观类插件: CodeSnap:轻松生成高分辨率精美代码 :emojisense::为Markdown文档或命令行添加表情,图片追板源码提升编程趣味性 Marquee:改造编程主屏幕,主题展示新闻、源码天气等信息 Material Theme:安装不同主题,自定义编辑器外观 Bookmarks:为文件特定行添加书签 Bracket Pair Colorizer:给括号添加不同颜色,区分区块 vscode-icons:更换更好看的文件图标 前端编程类插件: Vetur:为Vue项目提供语法高亮、智能感知等 Auto Close Tag:自动闭合HTML/XML标签 Auto Rename Tag:自动重命名HTML/XML标签 formate: CSS/LESS/SCSS formatter:格式化CSS/LESS/SCSS,增强可读性 Live Server:为静态和动态页面启动本地服务器 Debugger for Chrome:将JS代码调试嵌入Chrome浏览器 C/C++编程类插件: C/C++:为VSCode添加C/C++语言支持,包括IntelliSense和Debugging C++ Intellisense:为C/C++提供智能感知 CMake Tools:为VSCode添加CMake支持与感知 Python编程类插件: Python:为VSCode添加Python语言支持,包括IntelliSense和Debugging Jupyter:为VSCode添加Jupyter Notebook功能 效率类插件: Git Graph:可视化Git提交流程 koroFileHeader:格式化文件头部注释与函数注释 Code Runner:直接运行多种语言代码片段或文件 Better Comments:提供特定类型注释的高亮 CodeTime:分析每天敲代码时间 推荐技术交流群与资源获取方式: 本文建有技术交流群,欢迎进群获取最新优质文章、岗位推荐与互动交流。添加微信号:dkl,svc源码解析备注研究方向、学校/公司与知乎,即可入群。 关注Python与数据挖掘知乎账号与公众号,快速获取最新技术资讯与学习资源。我做了个chatPPT(含源码和prompt)
实现了一个基于AI的chatPPT工具,此工具能够根据输入的话题或句子自动生成PPT,包括润色标题、选择主题颜色以及生成所有插图。工具原理涉及openAI的GPT 3.5 TURBO接口、Dalle2以及Python-pptx库。
GPT 3.5 TURBO接口用于生成PPT结构文本,ulr管理源码包括PPT标题、页面标题和内容等,同时根据文本内容选择适合的情感主题色彩。Dalle2则将生成的文本转化为相应的,Python-pptx库则负责构建PPTX文件。
实现这个工具的关键在于制定合适的提示语,让AI理解用户需求并生成符合预期的PPT。实现过程相对简单,但需要考虑科学上网、openAI接口费用(生成一个PPT费用约在0.1~0.2美元,主要成本来自接口)以及输出篇幅的限制。
使用时需要注意以下几点:
1、无忧支付源码确保网络环境稳定,以便顺利使用工具。
2、openAI接口使用需付费,费用主要依据生成数量,一般生成一个PPT的费用在0.1~0.2美元左右。
3、由于AI接口限制输出最多个token,输出篇幅可能会受限。为解决这一问题,建议将用户输入内容分为多个部分,每次生成四个左右的主题,将这些主题的回复拼合,最终生成完整的PPT。虽然这样会增加成本,但可以有效解决输出限制问题。
工具源码已提供,有兴趣的读者可自行下载和优化,以满足更多个性化需求。
哪些是值得在Cydia越狱商店下载的插件源码?
对于iPhone越狱用户,Cydia商店无疑是一片宝藏地。众多强大的插件源码等待挖掘,但选择哪款合适呢?别担心,让我们一起探索五个值得安装的插件源码。1. 大老板源</
作为正版插件的殿堂,大老板源是许多付费插件的首选之地,确保了你的手机安全且功能丰富。2. Cydia/Telesphoreo</
这个源码支持ACF2补丁下载,对于需要进行越狱操作的用户,借助PP手机助手源码,安装过程更加顺畅。3. ModMyi.com</
这个源主要提供美化插件,帮助你个性化你的手机界面,如和视频编辑。4. repo.ultrasn0wn</
ultrasn0w虽技术性强,但并非大众所需,适合少数技术爱好者。5. ZodTTDMacCiti</
虽有音乐和主题下载功能,但因其便捷度不高,许多用户会选择其他途径获取。必备插件源推荐:</
卫逢源</- apt.feng.com源码功能全面,几乎涵盖越狱所需的一切。 威锋精品来源</- 类似Repo.feng.com的强大插件源,越狱必备。 PP手机助手源码</- 尽管插件不多,但用于软件重编,是新手的好选择。 原创精品来源</- 专为中文用户设计,提供最新、易用的插件。黑客iPhone插件源</
强烈推荐,因其快速更新且保证质量,为你的手机带来更多可能性。 在Cydia的海洋中,挑选适合你的插件源是提升手机体验的关键步骤。安装这些推荐的源码,将为你的越狱之旅打下坚实基础。探索并安装,让iPhone 的潜力无限释放。如何通过c#读写(JPG格式)的摘要信息
using System;
using System.Collections.Generic;
using System.Text;
namespace SnhjCms.Common
{
/// <summary>
/// 处理类
/// </summary>
public static class PictureUtil
{
/// <summary>
/// 生成缩略图
/// </summary>
/// <param name="imgPath">原路径</param>
/// <param name="breviaryPath">缩略图路径</param>
/// <param name="width">缩略图宽度</param>
/// <param name="height">缩略图高度</param>
/// <param name="mode">生成方式</param>
public static void MakeBreviaryPhoto(string imgPath, string breviaryPath, int width, int height, string mode)
{
System.Drawing.Image image = System.Drawing.Image.FromFile(imgPath);
int x = 0, y = 0;
int w = image.Width;
int h = image.Height;
switch (mode)
{
case "HW"://指定高度和宽度缩放(会变形)
break;
case "W"://指定宽度缩放,高度按比例。
height = h * width / w;
break;
case "H"://指定高度缩放,宽度按比例。
width = w * height / h;
break;
case "Cut"://指定高度和宽度裁剪。
if ((double)w / (double)h > (double)width / (double)height)
{
w = h * width / height;
x = (image.Width - w) / 2;
}
else
{
h = w * height / width;
y = (image.Height - h) / 2;
}
break;
default:
break;
}
//创建一个bmp
System.Drawing.Image bmpImg = new System.Drawing.Bitmap(width, height);
//新建一个画板
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(bmpImg);
//设置高质量插值法
g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
//清空画布并以透明背景色填充
g.Clear(System.Drawing.Color.Transparent);
//在指定位置并且按指定大小绘制原的指定部分
g.DrawImage(image, new System.Drawing.Rectangle(0,0,width,height), new System.Drawing.Rectangle(x,y,w,h), System.Drawing.GraphicsUnit.Pixel);
try
{
//以jpg格式保存缩略图
bmpImg.Save(breviaryPath, System.Drawing.Imaging.ImageFormat.Jpeg);
}
catch (Exception e)
{
throw e;
}
finally
{
image.Dispose();
bmpImg.Dispose();
g.Dispose();
}
}
/// <summary>
/// 加水印
/// </summary>
/// <param name="filename">文件名</param>
/// <param name="watermarkFilename">水印文件名</param>
/// <param name="watermarkStatus">水印位置:0=不使用 1=左上 2=中上 3=右上 4=左中 ... 9=右下</param>
/// <param name="quality">是否是高质量 取值范围0--</param>
/// <param name="watermarkTransparency">水印透明度 取值范围1-- (为不透明)</param>
public static void AddImageSignPic(string Path, string filename, string watermarkFilename, int watermarkStatus, int quality, int watermarkTransparency)
{
System.Drawing.Image img = System.Drawing.Image.FromFile(Path);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(img);
//设置高质量插值法
//g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High;
//设置高质量,低速度呈现平滑程度
//g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
System.Drawing.Image watermark = new System.Drawing.Bitmap(watermarkFilename);
if (watermark.Height >= img.Height || watermark.Width >= img.Width)
{
return;
}
System.Drawing.Imaging.ImageAttributes imageAttributes = new System.Drawing.Imaging.ImageAttributes();
System.Drawing.Imaging.ColorMap colorMap = new System.Drawing.Imaging.ColorMap();
colorMap.OldColor = System.Drawing.Color.FromArgb(, 0, , 0);
colorMap.NewColor = System.Drawing.Color.FromArgb(0, 0, 0, 0);
System.Drawing.Imaging.ColorMap[] remapTable = { colorMap };
imageAttributes.SetRemapTable(remapTable, System.Drawing.Imaging.ColorAdjustType.Bitmap);
float transparency = 0.5F;
if (watermarkTransparency >= 1 && watermarkTransparency <= )
{
transparency = (watermarkTransparency / .0F);
}
float[][] colorMatrixElements = {
new float[] { 1.0f, 0.0f, 0.0f, 0.0f, 0.0f},
new float[] { 0.0f, 1.0f, 0.0f, 0.0f, 0.0f},
new float[] { 0.0f, 0.0f, 1.0f, 0.0f, 0.0f},
new float[] { 0.0f, 0.0f, 0.0f, transparency, 0.0f},
new float[] { 0.0f, 0.0f, 0.0f, 0.0f, 1.0f}
};
System.Drawing.Imaging.ColorMatrix colorMatrix = new System.Drawing.Imaging.ColorMatrix(colorMatrixElements);
imageAttributes.SetColorMatrix(colorMatrix, System.Drawing.Imaging.ColorMatrixFlag.Default, System.Drawing.Imaging.ColorAdjustType.Bitmap);
int xpos = 0;
int ypos = 0;
switch (watermarkStatus)
{
case 1:
xpos = (int)(img.Width * (float).);
ypos = (int)(img.Height * (float).);
break;
case 2:
xpos = (int)((img.Width * (float).) - (watermark.Width / 2));
ypos = (int)(img.Height * (float).);
break;
case 3:
xpos = (int)((img.Width * (float).) - (watermark.Width));
ypos = (int)(img.Height * (float).);
break;
case 4:
xpos = (int)(img.Width * (float).);
ypos = (int)((img.Height * (float).) - (watermark.Height / 2));
break;
case 5:
xpos = (int)((img.Width * (float).) - (watermark.Width / 2));
ypos = (int)((img.Height * (float).) - (watermark.Height / 2));
break;
case 6:
xpos = (int)((img.Width * (float).) - (watermark.Width));
ypos = (int)((img.Height * (float).) - (watermark.Height / 2));
break;
case 7:
xpos = (int)(img.Width * (float).);
ypos = (int)((img.Height * (float).) - watermark.Height);
break;
case 8:
xpos = (int)((img.Width * (float).) - (watermark.Width / 2));
ypos = (int)((img.Height * (float).) - watermark.Height);
break;
case 9:
xpos = (int)((img.Width * (float).) - (watermark.Width));
ypos = (int)((img.Height * (float).) - watermark.Height);
break;
}
g.DrawImage(watermark, new System.Drawing.Rectangle(xpos, ypos, watermark.Width, watermark.Height), 0, 0, watermark.Width, watermark.Height, System.Drawing.GraphicsUnit.Pixel, imageAttributes);
System.Drawing.Imaging.ImageCodecInfo[] codecs = System.Drawing.Imaging.ImageCodecInfo.GetImageEncoders();
System.Drawing.Imaging.ImageCodecInfo ici = null;
foreach (System.Drawing.Imaging.ImageCodecInfo codec in codecs)
{
if (codec.MimeType.IndexOf("jpeg") > -1)
{
ici = codec;
}
}
System.Drawing.Imaging.EncoderParameters encoderParams = new System.Drawing.Imaging.EncoderParameters();
long[] qualityParam = new long[1];
if (quality < 0 || quality > )
{
quality = ;
}
qualityParam[0] = quality;
System.Drawing.Imaging.EncoderParameter encoderParam = new System.Drawing.Imaging.EncoderParameter(System.Drawing.Imaging.Encoder.Quality, qualityParam);
encoderParams.Param[0] = encoderParam;
if (ici != null)
{
img.Save(filename, ici, encoderParams);
}
else
{
img.Save(filename);
}
g.Dispose();
img.Dispose();
watermark.Dispose();
imageAttributes.Dispose();
}
/// <summary>
/// 在上生成水印
/// </summary>
/// <param name="Path">原服务器路径</param>
/// <param name="Path_syp">生成的带水印的路径</param>
/// <param name="Path_sypf">水印路径</param>
public static void AddWaterPic(string Path, string Path_syp, string Path_sypf)
{
System.Drawing.Image image = System.Drawing.Image.FromFile(Path);
System.Drawing.Image copyImage = System.Drawing.Image.FromFile(Path_sypf);
System.Drawing.Graphics g = System.Drawing.Graphics.FromImage(image);
g.DrawImage(copyImage, new System.Drawing.Rectangle(image.Width - copyImage.Width, image.Height - copyImage.Height, copyImage.Width, copyImage.Height), 0, 0, copyImage.Width, copyImage.Height, System.Drawing.GraphicsUnit.Pixel);
g.Dispose();
image.Save(Path_syp);
image.Dispose();
}
}
}