当我下载Skype时,我注意到,取代普通的"磁盘映像"图标,有一个自定义图标,当我双击图标时,窗口使用彩色图像作为背景,提示我拖动skype图标进入应用程序文件夹.
我怎么能用我的应用程序做到这一点?
谢谢你,杰森
我用Java编写了一个应用程序,并使用gcj成功编译了它.
在(X)ubuntu的文件管理器中,我的应用程序出现了默认的Linux可执行文件图标,我想用自己的图标替换它.
我已经看到其他应用程序显示自定义图标作为可执行文件,如Firefox,但不知道如何解决问题.Linux二进制文件是否有某种资源编辑器?
我已经尝试创建一个执行应用程序的桌面条目文件,如下所示:
[Desktop Entry]
Version=1.0
Type=Application
Name=MyJavaApp
Comment=
Exec=./MyJavaApp
Path=./../../libs/
Terminal=true
Icon=./icon.png
X-KDE-Library=./../../libs/libswt.so
Run Code Online (Sandbox Code Playgroud)
双击它会使终端弹出并再次消失,就是这样.我很确定应用程序没有启动,因为它无法找到所需的SWT库.我希望看到终端的输出,但我不能从那里启动它.
此外,Ubuntu似乎并不承认Icon.我尝试了各种分辨率的PNG; 没有骰子.
特别是我希望能够在运行时获得小(16 x 16)图标.
我试过这个:
new Icon(SystemIcons.Error, SystemInformation.SmallIconSize)
Run Code Online (Sandbox Code Playgroud)
据称"试图找到符合要求尺寸的图标版本",但它仍然给我一个32 x 32的图标.我也尝试过:
Size iconSize = SystemInformation.SmallIconSize;
Bitmap bitmap = new Bitmap(iconSize.Width, iconSize.Height);
using (Graphics g = Graphics.FromImage(bitmap))
{
g.DrawIcon(SystemIcons.Error, new Rectangle(Point.Empty, iconSize));
}
Run Code Online (Sandbox Code Playgroud)
但这只是将32 x 32图标缩小为丑陋的16 x 16.
我考虑过将图标从VS图像库中拉出来,但我真的希望它们随操作系统动态变化(XP上的XP图标,Vista上的Vista图标等).我愿意P/Invoke,如果这是它需要的.
在我的代码中,我通过函数SHGETImageList获得了一个大小为SHIL_JUMBO的图像列表.
IImageList iml;
var hres = SHGetImageList(SHIL_JUMBO, ref iidImageList, out iml);
IntPtr hIcon = IntPtr.Zero;
iml.GetIcon(i, ILD_TRANSPARENT | ILD_IMAGE, ref hIcon);
Icon ico = (Icon)System.Drawing.Icon.FromHandle(hIcon).Clone();
ShellAPI.DestroyIcon(hIcon);
Run Code Online (Sandbox Code Playgroud)
一切都还可以,但是当它必须得到更小的图标时(当它们的大小不是256x256时),GetIcon函数会返回一个大小为256x256的图标,但左上角的图标大小为32x32.我想将此图标调整为新大小(256 x 256).
我没有任何关于如何让系统将我的图标大小调整为256 x 256的信息.对于这个大小,iml中的每个函数(如GetImageInfo,GetImageRect)都返回一个空结构.
可以获得此图标较小的信息,我可以从其他来源获取图标.
我怎样才能将这样的图像放到slavePanelJPanel的顶部和顶部,调整JButtons看起来像图像但是按钮正确缠绕?(现在它们形成一排,四列)

//
// Shot Gun mover up/down/left/right, middle on is for zoom
//
public void GunMover(JPanel configPanel) throws IOException {
// Master Panel - holds everything
JPanel masterPanel = new Panel();
masterPanel.setLayout(new SpringLayout());
// Slave Panel - with image background
JPanel slavePanel = new Panel();
slavePanel.setLayout(new SpringLayout());
// Row 1
final JButton ptzLeft = new JButton("<");
masterPanel.add(ptzLeft, BorderLayout.WEST);
// Row 2
final JButton ptzRight = new JButton(">");
masterPanel.add(ptzRight, BorderLayout.CENTER);
// Row 3
final JButton ptzUp = …Run Code Online (Sandbox Code Playgroud) 我正在编写一个Android应用程序,我想在此应用程序中使用系统图标来显示邮件,电话,日历和联系人.问题是,这些图标因系统而异(不同的Android版本和不同的智能手机),我希望保持应用程序和系统的一致性.有没有一种简单的方法来实现这一目标?
应用程序的第一印象是应用程序商店中的启动器图标,所以它不应该被轻视.我终于完成了我的第一个应用程序,但仍然需要一个图标.我在图形或设计上并不出色.
我的问题是我如何寻找,创造或让某人提供免费服务.我不打算花钱买一个简单的图标而且我无法访问Photoshop.
我尝试将小图标精确地制作成16x16,灰度,灰色和白色(灰色为hex616161),以创建应用程序图标的轮廓.
然而,无论它在通知中显示为白色/灰色方块.我究竟做错了什么?
(我的分数api是21,假设它是相关的)
我的Android应用程序在Android oreo版本的白色圆圈内显示启动器图标.
我想显示启动器图标,因为它默认情况下就像在oreo设备上的方形.
通过各种博客发现并发现:
1)移动用户可以从主屏幕设置屏幕改变图标类型
(但我不想要.我想默认只显示方块)
2)使用26以下的应用程序目标sdk版本
(我希望有最新的sdk版本定位和方形启动器图标)
我试过了 :
任何人都可以帮我解决同样的问题吗?
icons geometry android-launcher android-8.0-oreo adaptive-icon