html如何在标题后加图片?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了html如何在标题后加图片?相关的知识,希望对你有一定的参考价值。

这个很容易实现,标题标签是块级元素,会独占一行,只要把display设置为inline-block就可以了。
<h1 style="display: inline-block;">这是标题</h1>
<img src="image/1.png" width="90" height="90" alt="" srcset="">
参考技术A 在标题后面加图片,直接在标题后面加入如下代码就可以了:标题<img src="图片地址"/>,就可以实现在标题后面加图片了。 参考技术B

你的html文件要与图片放在一起,在引用图片地址(这样简单点)

或者在引用图片时要图片的完整地址

(若压缩文件记得要包括图片,或者包含图片的文件夹。)

更有效率的加载大图片

按指定的大小得到图片防止OOM

本文结构:

1.如何得到图片bitmap的尺寸与类型

2.如何将图片缩小后加载在内存中



原文连接:https://developer.android.com/training/displaying-bitmaps/load-bitmap.html


在开发中,我们所用到的图片各种各样,也来自不同的地方。比如手机上原装的相册管理器,里面的经过照相机所拍摄的图片就远远超过了对屏幕的展示要求,同时对图片不加以处理并直接使用,再结合现在设备的像素,我们很容易就会OOM,程序直接崩溃。同时过大的尺寸还会导致大量流量和时间去加载图片,使得用户的体验感糟糕到极致!

在不大的屏幕控件上,展示过于高清的图片对你的程序没有一点好处。所以在使用前我们必须经过相应的处理,保证程序的流畅执行是关键!

如何得到图片bitmap的尺寸与类型


针对不同数据源的图片,BitmapFactory为我们提供了各种各样生成Bitmap的方法,这些方法都在生成bitmap的同时进行内存的分配,因此也很容易导致OOM问题的发生。而BitmapFactory在生成Bitmap的同时也会提供一个如图所示的参数— BitmapFactory.Options类。
设置options中的inJustDecodeBounds属性为true,可以避免内存的分配。同时BitmapFactory会返回一个null的值。但同时,options的 outWidth, outHeight outMimeType属性都会分别被赋值,得到目标图片的大小尺寸和类型。

BitmapFactory.Options options = new BitmapFactory.Options();
options.inJustDecodeBounds = true;
BitmapFactory.decodeResource(getResources(), R.id.myimage, options);
int imageHeight = options.outHeight;
int imageWidth = options.outWidth;
String imageType = options.outMimeType;

如何将图片缩小后加载在内存中

OK,得到了我们的目标图片的大小,我们怎样进行图片的压缩得到我们想要的尺寸呢?

继续参看BitmapFactory.Options~~


合理的设置inSampleSize参数可以得到缩小化的图片,比如inSampleSize =4可以将图片的长宽均压缩为原来的1/4.使其适应我们的屏幕控件。
那怎么得到这个合理的inSampleSize值呢??

public static int calculateInSampleSize(
            BitmapFactory.Options options, int reqWidth, int reqHeight) 
    // Raw height and width of image
    final int height = options.outHeight;
    final int width = options.outWidth;
    int inSampleSize = 1;

    if (height > reqHeight || width > reqWidth) 

        final int halfHeight = height / 2;
        final int halfWidth = width / 2;

        // Calculate the largest inSampleSize value that is a power of 2 and keeps both
        // height and width larger than the requested height and width.
        while ((halfHeight / inSampleSize) > reqHeight
                && (halfWidth / inSampleSize) > reqWidth) 
            inSampleSize *= 2;
        
    

    return inSampleSize;

我们可以通过制定要求的尺寸,再不断比较图片的现有尺寸是否满足,不满足则以2的倍数递增,直到满足最大尺寸要求为止。这样我们就可以得到满足实际需要的图片的大小参数!!

接下来吧这个参数设置给options,并通过BitmapFactory重新加载一次图片,记得要把inJustDecodeBounds的属性改回为false.
这样我们就可以得到需要的图片啦。同时合适的尺寸也不会影响视觉效果并可以更快更流畅的加载。

public static Bitmap decodeSampledBitmapFromResource(Resources res, int resId,
        int reqWidth, int reqHeight) 

    // First decode with inJustDecodeBounds=true to check dimensions
    final BitmapFactory.Options options = new BitmapFactory.Options();
    options.inJustDecodeBounds = true;
    BitmapFactory.decodeResource(res, resId, options);

    // Calculate inSampleSize
    options.inSampleSize = calculateInSampleSize(options, reqWidth, reqHeight);

    // Decode bitmap with inSampleSize set
    options.inJustDecodeBounds = false;
    return BitmapFactory.decodeResource(res, resId, options);

远离OOM ,从你我做起~~

以上是关于html如何在标题后加图片?的主要内容,如果未能解决你的问题,请参考以下文章

更有效率的加载大图片

如何提高网页加载速度

如何在mongodb聚合框架中的管道阶段后加入文档

ue4导入模型后加入法线后贴图不正常,如图片所示?

我想按顺序加载3个js文件

Python/Pandas 如何在字符串中的每个数字后加上逗号