精华内容
下载资源
问答
  • 图片,我们生活中最常见的信息载体,作为一...JPEG(Joint Photographic Experts Group)即联合图像专家组用于连续色调静态图像压缩的一种标准,文件后缀名为 .jpg 或 .jpeg,最常用的图像文件格式。 JPEG 图片

    图片,是我们生活中最常见的信息载体,作为一个日常生活中无处不在的事物,我们已经很习惯静态或者动态的图片了。大家也了解静态图片主要是jpg/png格式,动态图片主要为 gif。那你有没有过一瞬间的疑惑:“为什么都是图片还有不同的格式,这些格式都有什么不同?”

    Q1 聊聊常见的图片格式

    JPEG 格式

    JPEG(Joint Photographic Experts Group)即联合图像专家组,是用于连续色调静态图像压缩的一种标准,文件后缀名为 .jpg 或 .jpeg,是最常用的图像文件格式。

    JPEG 图片格式的设计目标,是在不影响人类可分辨的图片质量的前提下,尽可能的压缩文件大小。这意味着JPEG 去掉了一部分图片的原始信息,也就是进行了有损压缩。JPEG 的图片的优点,是采用了直接色,得益于更丰富的色彩,JPEG 非常适合用来存储照片,用来表达更生动的图像效果,比如颜色渐变。

    然而,JPEG 不适合用来存储企业 Logo、线框类的图。因为有损压缩会导致图片模糊,而直接色的选用,又会导致图片文件体积更大。

    PNG 格式

    PNG(Portable Network Graphics)即便携式网络图形,是一种采用无损压缩算法的位图格式,文件后缀名为 .png。PNG 使用从 LZ77 派生的无损数据压缩算法,一般应用于 JAVA 程序、网页中,它的压缩比高,生成文件体积小。

    PNG 格式是我们在数字设计项目中最常使用的格式。PNG 通常具有比其他格式更大的文件大小,但是它保留了硬性边缘效果,且可以处理大量颜色。另外 PNG 有个比较有趣的特性,那就是支持透明背景,这也是大多数网站将 Logo 创建为 PNG 格式的主要原因。

    GIF 格式

    GIF(Graphics Interchange Format)即图像互换格式,是在 1987 年由 Compu Serve 公司为了填补跨平台图像格式的空白而发展起来的。众所周知,它最大的特点就是“能动”。因此,GIF 通常用于从图像文件创建动画。通过在压缩中合并无损质量,可以无损传输和存储这些文件,并且对图像库的存储影响较小。

    GIF 是无损的,采用 GIF 格式保存图片不会降低图片质量。得益于数据的压缩,文件体积小,也是 GIF 格式的优点。此外,它还具有支持动画以及透明背景。

    GIF 格式适用于对色彩要求不高同时需要文件体积较小的场景,比如企业 Logo、线框类的图等。因其体积小的特点,现在 GIF 也已经被广泛的应用在各类网站中。

    然而近几年,一种全新的图片格式迅速开始成为各大网站的宠儿,它就是WebP。

    ##Q2 图片的王者?WebP or JPEG?

    WebP 可以简单看做JPEG 的升级版。它是 Google 推出的图片文件格式,目的就是为 Web 上的图片资源提供卓越的有损、无损压缩。在与其他格式同等质量指数下提供更小,更丰富的图片资源,以便资源在 Web 上访问传输。

    WebP 图片格式来源于 VP8 视频编解码器,也就是 WebM 视频容器,是 WebM 视频格式地单个压缩框架。VP8 编解码器的一个强大功能就是能够进行帧内压缩,或者更确切地说,能将视频的每个帧都被压缩,再压缩帧与帧之间的差异。

    WebP 特性

    • 有损压缩:有损压缩基于 VP8 关键编码。VP8 是 On2 Technologies 创建的视频格式,是 VP6 和 VP7 格式的后续版本。

    • 无损压缩:采用预测变换,颜色变换,减去绿色,LZ77 反响参考等技术进行压缩。

    • 透明度:8位 Alpha 通道对图形图像很有用。Alpha 通道可以于有损 RGB 一起使用。与其它格式图片所不支持的 WebP 特有的功能。

    • 动画:它支持真彩色动画图像,即可以支持动态图( 类Gif 图)

    • 元数据:它可能具有 EXIF 和 XMP 元数据

    • 颜色配置文件:它可能具有嵌入式 ICC 配置文件。

    Q3 图片防盗——小功能,大安全

    将精心拍摄或制作的图片发布到网上是一件快乐的事情,被志同道合的小伙伴看到赞扬是另一件快乐的事情。两件快乐的事情加起来原本应该获得双倍的快乐,但总有些人不问自取,不仅盗图,还盗链,这让人倍感烦躁。

    知己知彼方能百战百胜,因此我们先来了解一下什么是盗链。

    盗链是指服务提供商自己不提供服务的内容,通过技术手段绕过其它有利益的最终用户界面(如广告),直接在自己的网站上向终端用户提供其它服务提供商的服务内容,骗取最终用户的浏览和点击率。

    简单来说,就是其他网站上“盗”用了你网站的资源,去增加他的网站点击率,但最后流量却算在你身上,让你花“冤枉钱”。这个当然不能忍!怎么办?由于各网站性质不同(游戏/新闻等),需求也是不尽相同的。又拍云提供多种防盗链功能,满足用户的需要。

    展开全文
  • 今天,Google旗帜鲜明的宣布不支持H.264。当然媒体一片反对声浪,因为Google动了...H.264,同时也MPEG-4第十部分,由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,J...

    今天,Google旗帜鲜明的宣布不支持H.264。当然媒体一片反对声浪,因为Google动了他们可能的奶酪。

    但实际上,Google做了一件天大的,利好全世界人民的好事,其行为可比美救世主!

     

    我们先来看下这几个技术概念:

    H.264,同时也是MPEG-4第十部分,是由ITU-T视频编码专家组(VCEG)和ISO/IEC动态图像专家组(MPEG)联合组成的联合视频组(JVT,Joint Video Team)提出的高度压缩数字视频编解码器标准。

    但是,H.264是有专利许可费的,也就是说,你把视频存成H.264格式,就要向某些机构交钱。

     

    WebM是一个开放、免费的媒体文件格式用于网页

     

    WebM 影片格式,其实是以 Matroska(就是我们熟知的 MKV)容器格式为基础开发的新容器格式,里面包括了 VP8 影片轨和 Ogg Vorbis 音轨。Ogg Vorbis 本来就是开放格式,大家应该都知道,至于 VP8 则是 Google 当年买下一间叫 On2 的公司的时候,取得的 Video Codec,现在 Google 也把这个 Codec 以类似 BSD 授权放出来,因此 WebM不会有 H.264 的那些潜在的专利问题。

    可见,WebM是有公开,免费,开发的一种视频编码格式,也就是说,你把视频存成WebM格式,那是你的自由,不需要向任何机构交钱。

     

    视频格式,在未来的互联网上,必将占有大头,在未人,人们通过网络,和家人,朋友视频通话,记录生活点滴,都需要视频编码格式,如果把全人类都需要的东西,变成收费的,那真是很可怕的一件事情。想一想,如果当年Html格式也收费,还会有今天的互联网么?

     

    一种全球通用的格式描述,那它就应该是全人类所拥有的,H.264鼓吹的这个好这个快,有P用,不都是一样用。只不过是格式编码不同而已。

    看看现在互联网流行的格式体标准,XML, Html,Txt文本格式,都是公开通用的,就和人类的语言一样,如果人们说普通话,是因为遵循了某机构定下的普通话标准,就得交钱,这日子还能过么?

     

    现在互联网上,Html格式,主要定义了文本结构,它是免费的,图片格式,也有不少免费的,音频格式,Mp3的专利期好象已过(微软弄个WMA据说是因为Mp3当时的专利费问题),也是免费的,最后的壁垒,就是视频格式。

    现在Google主推免费开放的WebM,整个互联网的格式开放就完全打通。

     

    大公司应该做好产品,和内容来赚钱,而不是去控制一个标准格式来收费。如果中国收汉语格式的费,美国收英语格式的费,这个世界,还是开放,互联的世界么?

     

     

     

     

    转载于:https://www.cnblogs.com/DSharp/archive/2011/01/13/1934455.html

    展开全文
  • 什么要使用纹理压缩

    千次阅读 2013-09-27 11:21:28
    说到图像压缩,大家肯定会想到JPG、GIF等静态图像压缩格式和MPEG动态图像压缩格式,但实用的纹理压缩算法必须符合几个条件:一要能高速、实时解压缩,不影响纹理贴图过程的速度,所以JPEG(静态图像专家组)、...
    说到图像压缩,大家肯定会想到JPG、GIF等静态图像压缩格式和MPEG动态图像压缩格式,但实用的纹理压缩算法必须符合几个条件:一要能高速、实时解压缩,不影响纹理贴图过程的速度,所以JPEG(静态图像专家组)、Wavelets(子波压缩)等高压缩率、低速度的的方法就不合适了(试过S3TC纹理压缩程序的朋友就能发现,S3TC格式的图形文件,比高压缩系数的JPG等格式的文件大得多,一般是BMP格式的1/2~1/4);二要能够部分解压缩,就是不用把整个纹理全部解压缩(有大量数据互相相关的算法就是这样,如MPEG必须有上一帧图像为基础才能计算下一帧)后再进行纹理贴图,因为没有“地方”放解压缩后的数据(如要全部存放就失去压缩的意义了),实际上只能在贴图过程中用少量高速CACHE随时缓冲当前使用的部分纹理的数据。
    展开全文
  • 10.5.2 动态设置Data Guard SQL Apply参数 344 10.5.3 支持VPD和FGA 345 10.5.4 DBMS_SCHEDULER的支持 345 10.5.5 逻辑备用归档日志存储 346 10.5.6 SQL Apply事件消息 346 10.6 Data Guard Broker 347 ...
  • FFmpeg 读作 “ef ef em peg” ,其中的 “FF” 指的 “Fast Forward”,“mpeg” 则 “Moving Picture Experts Group” (动态图像专家组)。FFmpeg 项目功能复杂而庞大,基本上支持所有常见...

    f422630e7eff00fb07dc5c4681b7979d.png

    1为什么要学习 FFmpeg 开发

    FFmpeg 是一款知名的开源音视频处理软件,它提供了丰富而友好的接口支持开发者进行二次开发。

    FFmpeg 读作 “ef ef em peg” ,其中的 “FF” 指的是 “Fast Forward”,“mpeg” 则是 “Moving Picture Experts Group” (动态图像专家组)。

    FFmpeg 项目功能复杂而庞大,基本上支持所有常见的音视频处理操作,如封装格式转换、音视频转码、音视频播放和剪辑、视频添加水印滤镜等。

    尽管 FFmpeg 功能强大,但是由于其采用的是带有传染性的 LGPL/GPL 开源协议,所以一些大厂基本上都是自己独立开发类似的音视频处理库,甚至在接口和组织模块上模仿 FFmpeg 。

    因此,学习 FFmpeg 不仅能够帮助你掌握音视频开发的相关知识脉络,还能让你快速适应不同的音视频处理框架。

    2 FFmpeg 编译

    FFmpeg 有六个常用的功能模块:

    • libavformat:多媒体文件或协议的封装和解封装库;

    • libavcodec:音视频编解码库;

    • libavfilter:音视频、字幕滤镜库;

    • libswscale:图像格式转换库;

    • libswresample:音频重采样库;

    • libavutil:工具库。

    本文主要是帮助初学者快速上手 FFmpeg 的编译和集成,对 FFmpeg 项目的编译配置细节就不做过多阐述,这不是本篇内容所能容纳的。

    这里主要选择编译 ffmpeg v4.2.2 版本,因为这个版本网上的解决方案比较多,而且大部分可行。

    编译环境:

    • CentOS Linux release 7.6.1810 (Core)

    • android-ndk-r20b-linux-x86_64

    • ffmpeg-4.2.2

    编译前准备:

    #1. 下载 ffmpeg-4.2.2
    wget https://ffmpeg.org/releases/ffmpeg-4.2.2.tar.bz2
    #2. 解压 FFmpeg 
    tar -jxvf ffmpeg-4.2.2.tar.bz2
    #3. 运行 configure 脚本配置项目
    ./configure --disable-x86asm

    0841d33d55ce590dbd53bccf10bc7b38.png
    解压目录下创建编译脚本

    在 FFmpeg 4.2.2 解压目录下创建编译脚本 build_android_arm64-v8a_clang.sh:

    #!/bin/bashexport NDK=/root/workspace/android-ndk-r20b #这里配置先你的 NDK 路径
    TOOLCHAIN=$NDK/toolchains/llvm/prebuilt/linux-x86_64function build_android
    {
    ./configure \
    --prefix=$PREFIX \
    --enable-neon  \
    --enable-hwaccels  \
    --enable-gpl   \
    --disable-postproc \
    --disable-debug \
    --enable-small \
    --enable-jni \
    --enable-mediacodec \
    --enable-decoder=h264_mediacodec \
    --enable-static \
    --enable-shared \
    --disable-doc \
    --enable-ffmpeg \
    --disable-ffplay \
    --disable-ffprobe \
    --disable-avdevice \
    --disable-doc \
    --disable-symver \
    --cross-prefix=$CROSS_PREFIX \
    --target-os=android \
    --arch=$ARCH \
    --cpu=$CPU \
    --cc=$CC \
    --cxx=$CXX \
    --enable-cross-compile \
    --sysroot=$SYSROOT \
    --extra-cflags="-Os -fpic $OPTIMIZE_CFLAGS" \
    --extra-ldflags="$ADDI_LDFLAGS"
    make clean
    make -j16
    make installecho "============================ build android arm64-v8a success =========================="
    }#arm64-v8a
    ARCH=arm64
    CPU=armv8-a
    API=21
    CC=$TOOLCHAIN/bin/aarch64-linux-android$API-clang
    CXX=$TOOLCHAIN/bin/aarch64-linux-android$API-clang++
    SYSROOT=$NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot
    CROSS_PREFIX=$TOOLCHAIN/bin/aarch64-linux-android-
    PREFIX=$(pwd)/android/$CPU
    OPTIMIZE_CFLAGS="-march=$CPU"
    build_android

    编译 FFmpeg Android 平台的 64 位动态库和静态库:

    # 修改 build_android_arm64-v8a_clang.sh 可执行权限
    chmod +x build_android_arm64-v8a_clang.sh# 运行编译脚本
    ./build_android_arm64-v8a_clang.sh

    ddf1f6057315d5890812859c4136ea16.png
    编译成功

    编译成功后会在 android 目录下生成对应六个模块的静态库和动态库。

    另外,若要编译成 32 位的库,则需修改对应的编译脚本:

    #armv7-a
    ARCH=arm
    CPU=armv7-a
    API=21
    CC=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang
    CXX=$TOOLCHAIN/bin/armv7a-linux-androideabi$API-clang++
    SYSROOT=$NDK/toolchains/llvm/prebuilt/linux-x86_64/sysroot
    CROSS_PREFIX=$TOOLCHAIN/bin/arm-linux-androideabi-
    PREFIX=$(pwd)/android/$CPU
    OPTIMIZE_CFLAGS="-mfloat-abi=softfp -mfpu=vfp -marm -march=$CPU "
    3 FFmpeg 集成

    基于上节编译好的 FFmpeg 静态库,我们在 Android Studio 上进行简单的集成测试。

    bf3798ef8252c0796e67a2d72f6431f3.png
    将 FFmpeg 各个模块的静态库和头文件放置到指定目录下

    我们可以按照上图所示,将 FFmpeg 各个模块的静态库和头文件放置到指定目录下,实现一个获取各个模块版本信息的 jni 。

    #include #include #include "util/LogUtil.h"#include "jni.h"//由于 FFmpeg 库是 C 语言实现的,告诉编译器按照 C 的规则进行编译extern "C" {#include #include #include #include #include #include #include 
    };#ifdef __cplusplusextern "C" {#endif/*
     * Class:     com_byteflow_learnffmpeg_media_FFMediaPlayer
     * Method:    native_GetFFmpegVersion
     * Signature: ()Ljava/lang/String;
     */
    JNIEXPORT jstring JNICALL Java_com_byteflow_learnffmpeg_media_FFMediaPlayer_native_1GetFFmpegVersion(JNIEnv *env, jclass cls){char strBuffer[1024 * 4] = {0};strcat(strBuffer, "libavcodec : ");strcat(strBuffer, AV_STRINGIFY(LIBAVCODEC_VERSION));strcat(strBuffer, "\nlibavformat : ");strcat(strBuffer, AV_STRINGIFY(LIBAVFORMAT_VERSION));strcat(strBuffer, "\nlibavutil : ");strcat(strBuffer, AV_STRINGIFY(LIBAVUTIL_VERSION));strcat(strBuffer, "\nlibavfilter : ");strcat(strBuffer, AV_STRINGIFY(LIBAVFILTER_VERSION));strcat(strBuffer, "\nlibswresample : ");strcat(strBuffer, AV_STRINGIFY(LIBSWRESAMPLE_VERSION));strcat(strBuffer, "\nlibswscale : ");strcat(strBuffer, AV_STRINGIFY(LIBSWSCALE_VERSION));strcat(strBuffer, "\navcodec_configure : \n");strcat(strBuffer, avcodec_configuration());strcat(strBuffer, "\navcodec_license : ");strcat(strBuffer, avcodec_license());
        LOGCATE("GetFFmpegVersion\n%s", strBuffer);return env->NewStringUTF(strBuffer);
    }#ifdef __cplusplus
    }#endif

    Java 层的调用逻辑:

    package com.byteflow.learnffmpeg.media;public class FFMediaPlayer {static {
            System.loadLibrary("learn-ffmpeg");
        }public static String GetFFmpegVersion() {return native_GetFFmpegVersion();
        }private static native String native_GetFFmpegVersion();
    }
    //=================== main activity ===========================public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            ((TextView)findViewById(R.id.text_view)).setText(FFMediaPlayer.GetFFmpegVersion());
        }
    }

    CMakeLists.txt 构建脚本:

    # Sets the minimum version of CMake required to build the native library.
    cmake_minimum_required(VERSION 3.4.1)set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++11")set(jnilibs ${CMAKE_SOURCE_DIR}/../jniLibs)set(libname learn-ffmpeg)
    include_directories(
            include${CMAKE_SOURCE_DIR}/util
    )
    link_directories(${jnilibs}/${ANDROID_ABI})
    file(GLOB src-files${CMAKE_SOURCE_DIR}/*.cpp)
    add_library( # Sets the name of the library.${libname}# Sets the library as a shared library.
                 SHARED# Provides a relative path to your source file(s).${src-files}
            )set(third-party-libs
            avformat
            avcodec
            avfilter
            swresample
            swscale
            avutil
            )set(native-libs
            android
            EGL
            GLESv3
            OpenSLESlog
            m
            z
            )
    target_link_libraries( # Specifies the target library.${libname}# Links the target library to the log library# included in the NDK.${log-lib}${third-party-libs}${native-libs}
                           )

    编译完成后,运行 App 获取 FFmpeg 各个模块版本和编译配置信息。

    dcf89b7b10d5f87002234243d6aa21b3.png运行 App 获取 FFmpeg 各个模块版本和编译配置信息

    参考文章

    https://blog.csdn.net/leixiaohua1020

    https://juejin.im/post/5e1eace16fb9a02fec66474e

    -- END --

    觉得不错,点个在看呗~

    430db1fda3c8d2a7aa980f29b9c60a90.gif
    展开全文
  • 该原创文章首发于微信公众号:字节流动为...FFmpeg 读作 “ef ef em peg” ,其中的 “FF” 指的 “Fast Forward”,“mpeg” 则 “Moving Picture Experts Group” (动态图像专家组)。FFmpeg 项目功能复杂而...
  • MPEG & MPEG-2 system

    2014-03-19 00:32:09
    MPEG是动态图像专家组(Moving Picture Experts Group)的简称,通常可以将MPEG理解成一种视频压缩编码技术。该编码压缩属于有损压缩,最大压缩比为200:1 MPEG标准目前一共有5个分别MPEG-1 MPEG-2 MPEG-4 MPEG-7 ...
  • 在我们日常娱乐和日常工作中,我们有时会遇见将MP4转换为MPG的情况。...小编一查,才知道,原来MPG是动态图像专家组有国际标准化组织ISO与IEC于1988年联合成立的,专门致力于运动图像以及其伴音编码标准...
  • 前言  海思平台开发MPEG视频解码需要有HIMPP解码库API相关的知识,如果不具备基础的背景知识,请移步我的博文《海思HI35...先科普一下什么是MPEG视频,MPEG(Moving Picture Experts Group,动态图像专家组IS...
  • FFmpeg 读作 “ef ef em peg” ,其中的 “FF” 指的 “Fast Forward”,“mpeg” 则 “Moving Picture Experts Group” (动态图像专家组)。 FFmpeg 项目功能复杂而庞大,基本上支持所有常见的音视频处理操作...
  • 原标题:如何将MP4转换为MPG?这个方法超简单!在我们日常娱乐和日常工作中,我们有时会遇见将MP4转换为MPG的情况。...小编一查,才知道,原来MPG是动态图像专家组有国际标准化组织ISO与IEC于1988...
  • 这里的IDE设备包括了IDE硬盘和IDE光驱,第一、第二设备指主板上的第一、第二根IDE数据线,一般来说靠近芯片的第一IDE设备,而主设备、从设备指在一条IDE数据线上接的两个设备,大家知道每根数据线上可以接...
  • 5.动态鼠标精灵:你的鼠标为什么会跳舞、表演魔术? 6.精美文件图标:专门为您搜集整理了一些精美绝伦的小图标,供您装修系统图标时使用。 7.电子摄像头:启动监控以后,监控我的办公室,具有定时拍摄功能。 (八...
  • iPhone开发秘籍(第2版)--源代码

    热门讨论 2012-12-11 13:51:22
    萨丹(Erica Sadun),著名iPhone技术专家,畅销书作者。佐治亚理工学院计算机科学博士。拥有多年Apple开发经验。著有30多本技术书籍。涉及编程、数字媒体、网站设计和数码摄影等多个领域。Erica开发了十多个本地...
  • 汲取专家经验,指引入门捷径。 移动网络设备(MID,Mobile Internet Device)的发展趋势锐不可当,其中以智能手机最受瞩目。 《Google Android SDK开发范例大全(第3版)》采用范例集的形式,由浅入深地带领Google ...
  • 汲取专家经验,指引入门捷径。 移动网络设备(MID,Mobile Internet Device)的发展趋势锐不可当,其中以智能手机最受瞩目。 《Google Android SDK开发范例大全(第3版)》采用范例集的形式,由浅入深地带领Google ...
  • 让您的网页在浩瀚的网络海洋中焕发出夺目光彩 这本专家级的指南,畅销书《JavaScript Bible》的升级换代 不管您JavaScript高手,还是初学者,《JavaScript宝典(第6版)》都值得JavaScript Web开发人员一遍一遍地...
  • 精通qt4编程(源代码)

    热门讨论 2010-03-17 19:10:40
    \中级篇 第6章 2D绘图 蔡志明本章内容较多,包括Qt的绘图要素、图形变换与坐标系统、绘图设备、图像处理、图像打印等。最后讲解了Qt 4图形系统的模型视图框架——Graphics View框架。 152 \ 第7章 拖放操作与剪贴板 ...
  • 4.3.3 为数组动态分配内存 165 4.3.4 多维数组的动态分配 167 4.4 使用引用 168 4.4.1 引用的概念 168 4.4.2 声明并初始化引用 168 4.5 字符串的本地C++库函数 169 4.5.1 查找以空字符结尾的字符串的长度 169...
  • Visual C++ 2008入门经典--详细书签版

    热门讨论 2013-02-02 16:07:15
    4.3.3 为数组动态分配内存 165 4.3.4 多维数组的动态分配 167 4.4 使用引用 168 4.4.1 引用的概念 168 4.4.2 声明并初始化引用 168 4.5 字符串的本地C++库函数 169 4.5.1 查找以空字符结尾的字符串的长度 169...
  • GRP:程序管理 H HEX:Macintosh BinHex2.0文件 HLP:帮助文件;Date CAD Windows帮助文件 HPP:C++程序头文件 HQX:Macintosh BinHex 4.0文件 HT:HyperTerminal(超级终端) HTM,HTML:超文本文档 HTT...
  • 什么选择JEECG? 1.采用主流框架,容易上手; 代码生成器依赖性低,很方便的扩展能力,可完全实现二次开发; 2.开发效率很高,采用代码生成器,单表数据模型和一对多(父子表)数据模型,增删改查功能自动生成,菜单配置...
  • 中文版Excel.2007高级VBA编程宝典 1/2

    热门讨论 2012-04-06 16:00:16
    本书的作者当之无愧的世界级Excel电子表格专家,他为读者倾心打造了这本专著,书中汇聚他15年来使用Excel的所有经验,涵盖Excel应用和VBA编程涉及的方方面面,经典著作Excel 2003 Power Programming with VBA的...
  • 中文版Excel.2007图表宝典 2/2

    热门讨论 2012-04-06 19:01:36
    1.1 什么是图表/3 1.2 Excel如何对图表进行操作/4 1.2.1 内嵌图表/5 1.2.2 图表表单/6 1.3 图表的组成部分/9 1.4 创建图表的基本步骤/11 1.4.1 创建图表/11 1.4.2 切换行和列的方向/12 1.4.3 改变图表类型/13 1.4.4 ...

空空如也

空空如也

1 2
收藏数 32
精华内容 12
关键字:

动态图像专家组是什么